Skip to content

Commit

Permalink
fix: remove step to make ghcr public
Browse files Browse the repository at this point in the history
  • Loading branch information
NickChecan committed Oct 14, 2024
1 parent ec9cff0 commit 6104ee1
Showing 1 changed file with 134 additions and 152 deletions.
286 changes: 134 additions & 152 deletions .github/workflows/pipeline.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Build, Test and Deploy
on:
push:
# paths:
# - 'src/**'
paths:
- 'src/**'
workflow_dispatch:

permissions:
Expand All @@ -21,158 +21,140 @@ jobs:
- name: ShellCheck
uses: ludeeus/action-shellcheck@2.0.0

- name: Make package public
env:
GITHUB_TOKEN: ${{ secrets.NEFARIOUS_TOKEN }}
run: |
gh api --method PATCH \
-H "Accept: application/vnd.github+json" \
/orgs/The-Nefarious-Developer/packages/container/sap-cap-javascript-node/visibility \
-f visibility=public
# build:
# name: Determine images
# runs-on: ubuntu-latest
# needs: lint
# steps:

# - name: Checkout
# uses: actions/checkout@v4

# - name: Build dist
# run: npm run build

# - name: Compress build files
# run: zip -r build-files.zip ./dist/

# - name: Upload artifact
# uses: actions/upload-artifact@v3
# with:
# name: build-files
# path: build-files.zip

# setup:
# name: Setup environment
# runs-on: ubuntu-latest
# needs: build
# outputs:
# matrix: ${{ steps.get-variants.outputs.matrix }}
# steps:

# - name: Download artifact
# uses: actions/download-artifact@v3
# with:
# name: build-files
# path: .
build:
name: Determine images
runs-on: ubuntu-latest
needs: lint
steps:

- name: Checkout
uses: actions/checkout@v4

- name: Build dist
run: npm run build

- name: Compress build files
run: zip -r build-files.zip ./dist/

- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: build-files
path: build-files.zip

setup:
name: Setup environment
runs-on: ubuntu-latest
needs: build
outputs:
matrix: ${{ steps.get-variants.outputs.matrix }}
steps:

- name: Download artifact
uses: actions/download-artifact@v3
with:
name: build-files
path: .

# - name: Unzip build files
# run: unzip build-files.zip -d .
- name: Unzip build files
run: unzip build-files.zip -d .

# - name: Get list of variants for an image
# id: get-variants
# run: echo "::set-output name=matrix::$(jq -c '.variants' ./dist/variant-matrix.json)"

# test:
# name: Run test(s)
# runs-on: ubuntu-latest
# needs: setup
# strategy:
# matrix:
# variant: ${{ fromJson(needs.setup.outputs.matrix) }}
# fail-fast: false
# steps:

# - name: Checkout
# uses: actions/checkout@v4

# - name: Setup Node
# uses: actions/setup-node@v4
# with:
# node-version: 22
# cache: npm

# - name: Install dependencies
# run: npm ci

# - name: Run test for ${{ matrix.variant.IMAGE }}
# env:
# VARIANT: ${{ matrix.variant.VERSION }}
# run: test/${{ matrix.variant.IMAGE }}/test.sh

# publish:
# name: Publish image(s)
# if: github.ref == 'refs/heads/main'
# runs-on: ubuntu-latest
# environment: publishing
# needs:
# - setup
# - test
# strategy:
# matrix:
# variant: ${{ fromJson(needs.setup.outputs.matrix) }}
# fail-fast: false
# steps:

# - name: Checkout
# uses: actions/checkout@v4

# - name: Download artifact
# uses: actions/download-artifact@v3
# with:
# name: build-files
# path: .
- name: Get list of variants for an image
id: get-variants
run: echo "::set-output name=matrix::$(jq -c '.variants' ./dist/variant-matrix.json)"

test:
name: Run test(s)
runs-on: ubuntu-latest
needs: setup
strategy:
matrix:
variant: ${{ fromJson(needs.setup.outputs.matrix) }}
fail-fast: false
steps:

- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm

- name: Install dependencies
run: npm ci

- name: Run test for ${{ matrix.variant.IMAGE }}
env:
VARIANT: ${{ matrix.variant.VERSION }}
run: test/${{ matrix.variant.IMAGE }}/test.sh

publish:
name: Publish image(s)
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
environment: publishing
needs:
- setup
- test
strategy:
matrix:
variant: ${{ fromJson(needs.setup.outputs.matrix) }}
fail-fast: false
steps:

- name: Checkout
uses: actions/checkout@v4

- name: Download artifact
uses: actions/download-artifact@v3
with:
name: build-files
path: .

# - name: Unzip build files
# run: unzip build-files.zip -d .

# - name: Install devcontainer cli
# run: npm install -g @devcontainers/cli

# - name: Login to GitHub Container Registry
# uses: docker/login-action@v2
# with:
# registry: ghcr.io
# username: ${{ github.actor }}
# password: ${{ secrets.NEFARIOUS_TOKEN }}

# - name: Build devcontainer
# run: |
# devcontainer build \
# --workspace-folder ./dist/${{ matrix.variant.IMAGE }}/${{ matrix.variant.VERSION }} \
# --image-name ghcr.io/the-nefarious-developer/${{ matrix.variant.IMAGE }}:${{ matrix.variant.VERSION }}

# - name: Push image to GitHub Container Registry
# run: docker push ghcr.io/the-nefarious-developer/${{ matrix.variant.IMAGE }}:${{ matrix.variant.VERSION }}

# - name: Make package public
# env:
# GITHUB_TOKEN: ${{ secrets.NEFARIOUS_TOKEN }}
# run: |
# gh api --method PATCH \
# -H "Accept: application/vnd.github+json" \
# /orgs/YOUR_ORG/packages/container/the-nefarious-developer%2F${{ matrix.variant.IMAGE }}/visibility \
# -f visibility=public
- name: Unzip build files
run: unzip build-files.zip -d .

- name: Install devcontainer cli
run: npm install -g @devcontainers/cli

- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.NEFARIOUS_TOKEN }}

- name: Build devcontainer
run: |
devcontainer build \
--workspace-folder ./dist/${{ matrix.variant.IMAGE }}/${{ matrix.variant.VERSION }} \
--image-name ghcr.io/the-nefarious-developer/${{ matrix.variant.IMAGE }}:${{ matrix.variant.VERSION }}
- name: Push image to GitHub Container Registry
run: docker push ghcr.io/the-nefarious-developer/${{ matrix.variant.IMAGE }}:${{ matrix.variant.VERSION }}

# release:
# name: Generate release
# if: github.ref == 'refs/heads/main'
# runs-on: ubuntu-latest
# needs: publish
# steps:
release:
name: Generate release
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
needs: publish
steps:

# - name: Checkout
# uses: actions/checkout@v4

# - name: Setup Node
# uses: actions/setup-node@v4
# with:
# node-version: 22
# cache: npm

# - name: Install dependencies
# run: npm ci

# - name: Generate version and release
# env:
# GITHUB_TOKEN: ${{ secrets.NEFARIOUS_TOKEN }}
# run: npm run semantic-release
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm

- name: Install dependencies
run: npm ci

- name: Generate version and release
env:
GITHUB_TOKEN: ${{ secrets.NEFARIOUS_TOKEN }}
run: npm run semantic-release

0 comments on commit 6104ee1

Please sign in to comment.