090bf32b-a2d8-401b-af1a-e6766c9b3d65 #14
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: Build | |
run-name: ${{ inputs.id || 'Build' }} | |
on: | |
workflow_dispatch: | |
inputs: | |
id: | |
description: "AUTOMATION ONLY - Do not fill out" | |
required: false | |
push: | |
branches: | |
- "main" | |
- "rc" | |
- "hotfix-rc" | |
pull_request: | |
env: | |
_AZ_REGISTRY: "bitwardenprod.azurecr.io" | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Set up .NET | |
uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3.2.0 | |
- name: Verify format | |
run: dotnet format --verify-no-changes | |
build-artifacts: | |
name: Build artifacts | |
runs-on: ubuntu-22.04 | |
needs: | |
- lint | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- project_name: Admin | |
base_path: ./src | |
node: true | |
- project_name: Api | |
base_path: ./src | |
- project_name: Billing | |
base_path: ./src | |
- project_name: Events | |
base_path: ./src | |
- project_name: EventsProcessor | |
base_path: ./src | |
- project_name: Icons | |
base_path: ./src | |
- project_name: Identity | |
base_path: ./src | |
- project_name: MsSqlMigratorUtility | |
base_path: ./util | |
dotnet: true | |
- project_name: Notifications | |
base_path: ./src | |
- project_name: Scim | |
base_path: ./bitwarden_license/src | |
dotnet: true | |
- project_name: Server | |
base_path: ./util | |
- project_name: Setup | |
base_path: ./util | |
- project_name: Sso | |
base_path: ./bitwarden_license/src | |
node: true | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Set up .NET | |
uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3.2.0 | |
- name: Set up Node | |
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2 | |
with: | |
cache: "npm" | |
cache-dependency-path: "**/package-lock.json" | |
node-version: "16" | |
- name: Print environment | |
run: | | |
whoami | |
dotnet --info | |
node --version | |
npm --version | |
echo "GitHub ref: $GITHUB_REF" | |
echo "GitHub event: $GITHUB_EVENT" | |
- name: Build node | |
if: ${{ matrix.node }} | |
working-directory: ${{ matrix.base_path }}/${{ matrix.project_name }} | |
run: | | |
npm ci | |
npm run build | |
- name: Publish project | |
working-directory: ${{ matrix.base_path }}/${{ matrix.project_name }} | |
run: | | |
echo "Publish" | |
dotnet publish -c "Release" -o obj/build-output/publish | |
cd obj/build-output/publish | |
zip -r ${{ matrix.project_name }}.zip . | |
mv ${{ matrix.project_name }}.zip ../../../ | |
pwd | |
ls -atlh ../../../ | |
- name: Upload project artifact | |
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 | |
with: | |
name: ${{ matrix.project_name }}.zip | |
path: ${{ matrix.base_path }}/${{ matrix.project_name }}/${{ matrix.project_name }}.zip | |
if-no-files-found: error | |
build-mssqlmigratorutility: | |
name: Build MSSQL migrator utility | |
runs-on: ubuntu-22.04 | |
needs: lint | |
defaults: | |
run: | |
shell: bash | |
working-directory: "util/MsSqlMigratorUtility" | |
strategy: | |
fail-fast: false | |
matrix: | |
target: | |
- osx-x64 | |
- linux-x64 | |
- win-x64 | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Set up .NET | |
uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3.2.0 | |
- name: Print environment | |
run: | | |
whoami | |
dotnet --info | |
echo "GitHub ref: $GITHUB_REF" | |
echo "GitHub event: $GITHUB_EVENT" | |
- name: Publish project | |
run: | | |
dotnet publish -c "Release" -o obj/build-output/publish -r ${{ matrix.target }} -p:PublishSingleFile=true \ | |
-p:IncludeNativeLibrariesForSelfExtract=true --self-contained true | |
- name: Upload project artifact for Windows | |
if: ${{ contains(matrix.target, 'win') == true }} | |
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 | |
with: | |
name: MsSqlMigratorUtility-${{ matrix.target }} | |
path: util/MsSqlMigratorUtility/obj/build-output/publish/MsSqlMigratorUtility.exe | |
if-no-files-found: error | |
- name: Upload project artifact | |
if: ${{ contains(matrix.target, 'win') == false }} | |
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 | |
with: | |
name: MsSqlMigratorUtility-${{ matrix.target }} | |
path: util/MsSqlMigratorUtility/obj/build-output/publish/MsSqlMigratorUtility | |
if-no-files-found: error |