mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-18 21:52:54 +00:00
# Which Problems Are Solved This PR makes sure that the tarballs containing the API binary and the standalone login are separately downloadable from the release pages again. # How the Problems Are Solved Because the `Pack` workflow uploads a single GitHub artifact containing all tarballs since #10571, we download this artifact so that it correctly unpacks into the correct folder structure configured in `.releaserc.js` The changes are tested [with this action run](https://github.com/eliobischof/zitadel/actions/runs/18745783976), which [created this release](https://github.com/eliobischof/zitadel/releases/tag/v1.0.0-release-archives.5). # Additional Changes - The term `standalone` is removed from the login tarball, as it should be clear that it is a standalone build. - The go builds and the login archiving are less verbose - The pipelines go versions are pinned to *v1.25*, a minor above the minimally required go version *v1.24.0* described in the go.mod file. This makes sure that we build using newer patches for security and performance. # Additional Context - The archives weren't published anymore since #10571 - Closes #10896 --------- Co-authored-by: Silvan <[email protected]>
103 lines
3.3 KiB
YAML
103 lines
3.3 KiB
YAML
name: Lint Test Build
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
go_version:
|
|
required: true
|
|
type: string
|
|
node_version:
|
|
required: true
|
|
type: string
|
|
secrets:
|
|
CODECOV_TOKEN:
|
|
required: true
|
|
NX_CLOUD_ACCESS_TOKEN_READONLY:
|
|
required: true
|
|
|
|
jobs:
|
|
lint_test_build:
|
|
name: Lint, Test and Build
|
|
runs-on: depot-ubuntu-22.04-16
|
|
environment: ${{ github.ref_protected == 'true' && 'Protected' || null }}
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
filter: tree:0
|
|
- name: Fetch main branch
|
|
if: ${{ github.ref != 'refs/heads/main' }}
|
|
run: git fetch origin main:main
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: ${{ inputs.go_version }}
|
|
- name: Set up pnpm
|
|
uses: pnpm/action-setup@v4
|
|
with:
|
|
run_install: false
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ inputs.node_version }}
|
|
cache: "pnpm"
|
|
- name: Set up Docker
|
|
uses: docker/setup-docker-action@v4
|
|
with:
|
|
version: v28.3.2
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
with:
|
|
version: v0.28.0
|
|
- name: Set up Docker Compose
|
|
uses: docker/setup-compose-action@v1
|
|
with:
|
|
version: v2.38.2
|
|
- name: Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
- name: Install Cypress binary
|
|
run: pnpm cypress install
|
|
working-directory: apps/login
|
|
- name: Set SHAs for nx affected commands
|
|
uses: nrwl/nx-set-shas@v4
|
|
- name: Lint, Test and Build
|
|
env:
|
|
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN || secrets.NX_CLOUD_ACCESS_TOKEN_READONLY }}
|
|
run: pnpm nx affected --nxBail --targets lint test build --exclude @zitadel/docs
|
|
- name: Suggest Pipeline Fix By Nx Cloud AI
|
|
if: failure() || cancelled()
|
|
env:
|
|
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN || secrets.NX_CLOUD_ACCESS_TOKEN_READONLY }}
|
|
run: pnpm nx fix-ci
|
|
- name: Publish API Unit Test Coverage
|
|
uses: codecov/[email protected]
|
|
with:
|
|
file: profile.api.test-unit.cov
|
|
name: api-test-unit
|
|
flags: api-test-unit
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
- name: Publish API Integration Test Coverage
|
|
uses: codecov/[email protected]
|
|
with:
|
|
file: profile.api.test-integration.cov
|
|
name: api-test-integration
|
|
flags: api-test-integration
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
- name: Upload API Integration Test Race Logs
|
|
if: failure() || cancelled()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: api-integration-test-race-logs
|
|
path: |
|
|
.artifacts/api-test-integration/race.log.*
|
|
- name: Upload Functional UI Test Artifacts
|
|
uses: actions/upload-artifact@v4
|
|
if: failure() || cancelled()
|
|
with:
|
|
name: functional-ui-tests
|
|
path: |
|
|
tests/functional-ui/cypress/screenshots
|
|
tests/functional-ui/cypress/videos
|
|
tests/functional-ui/cypress/results
|