Switched back to project status so PSR List looks correct historically #24
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: HQ CD | |
on: | |
push: | |
tags: | |
- v* | |
jobs: | |
build-dotnet: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: src/dotnet/ | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Write release version | |
run: | | |
VERSION=${GITHUB_REF_NAME#v} | |
echo Version: $VERSION | |
echo "VERSION=$VERSION" >> $GITHUB_ENV | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: dotnet build --no-restore --configuration Release /p:Version=${VERSION} | |
- name: Test | |
run: dotnet test --no-build --configuration Release --verbosity normal | |
- name: Publish HQ Server | |
run: dotnet publish --no-build --configuration Release --verbosity normal HQ.Server/ --output dist/hq-server/ | |
- name: Upload HQ Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: dotnet-hq-server | |
path: src/dotnet/dist/hq-server/** | |
if-no-files-found: error | |
build-angular-hq: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: src/angular/hq/ | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js 20.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
cache: 'npm' | |
cache-dependency-path: src/angular/hq/package-lock.json | |
- name: Restore dependencies | |
run: npm ci | |
- name: Build | |
run: npm run build | |
- name: Upload HQ Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: angular-hq | |
path: src/angular/hq/dist/hq/browser/** | |
if-no-files-found: error | |
push-server: | |
runs-on: ubuntu-latest | |
needs: | |
- build-dotnet | |
- build-angular-hq | |
defaults: | |
run: | |
working-directory: src/dotnet/ | |
permissions: | |
contents: 'read' | |
packages: 'write' | |
env: | |
REGISTRY: ghcr.io | |
REPO_NAME: ${{ github.repository }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: dotnet-hq-server | |
path: src/dotnet/dist/hq-server/ | |
- name: Set output | |
id: vars | |
run: | | |
echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT | |
echo "version=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_OUTPUT | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to GHCR | |
uses: docker/login-action@v3 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and push HQ to ghcr | |
uses: docker/build-push-action@v5 | |
with: | |
file: src/dotnet/HQ.Server/Dockerfile | |
context: src/dotnet/dist/hq-server/ | |
push: true | |
tags: ${{ env.REGISTRY }}/${{ env.REPO_NAME }}-server:${{ steps.vars.outputs.tag }} | |
build-args: | | |
VERSION=${{ steps.vars.outputs.version }} | |
push-web: | |
runs-on: ubuntu-latest | |
needs: | |
- build-dotnet | |
- build-angular-hq | |
defaults: | |
run: | |
working-directory: src/angular/hq/ | |
permissions: | |
contents: 'read' | |
packages: 'write' | |
env: | |
REGISTRY: ghcr.io | |
REPO_NAME: ${{ github.repository }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: angular-hq | |
path: src/angular/hq/dist/hq/browser/ | |
- name: Set output | |
id: vars | |
run: | | |
echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT | |
echo "version=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_OUTPUT | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to GHCR | |
uses: docker/login-action@v3 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and push HQ to ghcr | |
uses: docker/build-push-action@v5 | |
with: | |
file: src/angular/hq/Dockerfile | |
context: src/angular/hq/dist/hq/browser/ | |
push: true | |
tags: ${{ env.REGISTRY }}/${{ env.REPO_NAME }}-web:${{ steps.vars.outputs.tag }} | |
build-args: | | |
VERSION=${{ steps.vars.outputs.version }} | |
build-contexts: | | |
src=src/angular/hq/ | |
push-auth: | |
runs-on: ubuntu-latest | |
needs: | |
- build-dotnet | |
- build-angular-hq | |
defaults: | |
run: | |
working-directory: src/auth/ | |
permissions: | |
contents: 'read' | |
packages: 'write' | |
env: | |
REGISTRY: ghcr.io | |
REPO_NAME: ${{ github.repository }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set output | |
id: vars | |
run: | | |
echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT | |
echo "version=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_OUTPUT | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to GHCR | |
uses: docker/login-action@v3 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and push Auth to ghcr | |
uses: docker/build-push-action@v5 | |
with: | |
file: src/auth/Dockerfile | |
context: src/auth/ | |
push: true | |
tags: ${{ env.REGISTRY }}/${{ env.REPO_NAME }}-auth:${{ steps.vars.outputs.tag }} | |
build-args: | | |
VERSION=${{ steps.vars.outputs.version }} |