From bbea9d844c41baf3bcb98ef4196fabf5384d443d Mon Sep 17 00:00:00 2001 From: Timothy Small Date: Wed, 12 Jul 2023 15:20:02 -0400 Subject: [PATCH] Add test workflow for container build --- .../adminconsole-test-image-build.yml | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 .github/workflows/adminconsole-test-image-build.yml diff --git a/.github/workflows/adminconsole-test-image-build.yml b/.github/workflows/adminconsole-test-image-build.yml new file mode 100644 index 0000000..b8f00e9 --- /dev/null +++ b/.github/workflows/adminconsole-test-image-build.yml @@ -0,0 +1,73 @@ +# yaml-language-server: $schema=https://json.schemastore.org/github-workflow +name: AdminConsole Web App / Test container image build +on: + workflow_dispatch: + +permissions: + packages: write + contents: read + +jobs: + test-container-image-build: + name: Run container image build + runs-on: ubuntu-latest + + env: + EVENT_TYPE: ${{ github.event_name }} + TAG_NAME: ${{ github.ref_name }} + + steps: + - name: Generate image tag value + shell: pwsh + run: | + "IMAGE_TAG=$($env:EVENT_TYPE -eq "push" ? $env:TAG_NAME : $([datetime]::Now.ToString("yyyyMMddTHHmmss")))" | Out-File -FilePath $env:GITHUB_ENV -Append + + - name: "Checkout GitHub Action" + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup .NET SDK + uses: actions/setup-dotnet@v3 + with: + global-json-file: global.json + + - name: Install .NET tools + run: dotnet tool restore + + - name: Update project files with gitversion + run: dotnet tool run dotnet-gitversion /updateprojectfiles + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to container registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Generate Docker metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ghcr.io/${{ github.actor }}/SmallsOnline-PasswordExpirationNotifier-AdminConsole + tags: | + type=ref,event=tag + type=ref,event=branch + type=sha + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: ./ + file: ./Dockerfile.admin-console + push: false + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-args: | + "GITHUB_USER=${{ github.actor }}" + "GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}"