diff --git a/.github/workflows/checks.yml b/.github/workflows/branch-checks.yml similarity index 98% rename from .github/workflows/checks.yml rename to .github/workflows/branch-checks.yml index 728608e8..6972ecb3 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/branch-checks.yml @@ -1,8 +1,6 @@ -name: Checks +name: Branch Checks on: - push: - branches: [main] pull_request: env: diff --git a/.github/workflows/e2e.yml b/.github/workflows/branch-e2e.yml similarity index 72% rename from .github/workflows/e2e.yml rename to .github/workflows/branch-e2e.yml index 1217f583..a59f84b6 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/branch-e2e.yml @@ -1,8 +1,6 @@ -name: E2E +name: Branch E2E Checks on: - push: - branches: [main] pull_request: types: [opened, synchronize, reopened, labeled] @@ -12,7 +10,7 @@ permissions: jobs: build-gateway: - if: github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'e2e') + if: contains(github.event.pull_request.labels.*.name, 'e2e') uses: ./.github/workflows/docker-build.yml with: component: gateway @@ -20,7 +18,7 @@ jobs: runner: build-arm64 build-cluster: - if: github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'e2e') + if: contains(github.event.pull_request.labels.*.name, 'e2e') uses: ./.github/workflows/docker-build.yml with: component: cluster diff --git a/.github/workflows/ci-image.yml b/.github/workflows/ci-image.yml index f757a0c0..853a72fc 100644 --- a/.github/workflows/ci-image.yml +++ b/.github/workflows/ci-image.yml @@ -1,4 +1,4 @@ -name: CI Image +name: Build CI Image on: push: diff --git a/.github/workflows/dco.yml b/.github/workflows/dco.yml index 8888288b..88660b1e 100644 --- a/.github/workflows/dco.yml +++ b/.github/workflows/dco.yml @@ -1,4 +1,5 @@ name: "DCO Assistant" + on: issue_comment: types: [created] diff --git a/.github/workflows/docs-build.yml b/.github/workflows/docs-build.yml index 3c141546..15c54fbc 100644 --- a/.github/workflows/docs-build.yml +++ b/.github/workflows/docs-build.yml @@ -1,4 +1,4 @@ -name: Docs +name: Docs Build on: push: diff --git a/.github/workflows/docs-preview-pr.yml b/.github/workflows/docs-preview-pr.yml index a18c7575..ccade741 100644 --- a/.github/workflows/docs-preview-pr.yml +++ b/.github/workflows/docs-preview-pr.yml @@ -1,4 +1,4 @@ -name: docs-preview-pr +name: Docs PR Preview on: pull_request: diff --git a/.github/workflows/release-dev.yml b/.github/workflows/release-dev.yml index 8b348986..ff51540e 100644 --- a/.github/workflows/release-dev.yml +++ b/.github/workflows/release-dev.yml @@ -61,9 +61,16 @@ jobs: component: cluster cargo-version: ${{ needs.compute-versions.outputs.cargo_version }} + e2e: + needs: [build-gateway, build-cluster] + uses: ./.github/workflows/e2e-test.yml + with: + image-tag: ${{ github.sha }} + runner: build-arm64 + tag-ghcr-dev: name: Tag GHCR Images as Dev - needs: [build-gateway, build-cluster] + needs: [build-gateway, build-cluster, e2e] runs-on: build-amd64 timeout-minutes: 10 steps: @@ -84,7 +91,7 @@ jobs: build-python-wheels: name: Stage Python Wheels - needs: [compute-versions, build-gateway, build-cluster] + needs: [compute-versions] runs-on: build-amd64 timeout-minutes: 120 outputs: diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index f656aa65..cda74d1e 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -42,7 +42,6 @@ jobs: cargo_version: ${{ steps.v.outputs.cargo }} # Semver without 'v' prefix (e.g. 0.6.0), used for image tags and release body semver: ${{ steps.v.outputs.semver }} - previous_tag: ${{ steps.prev.outputs.tag }} steps: - uses: actions/checkout@v4 with: @@ -63,19 +62,6 @@ jobs: echo "cargo=$(uv run python tasks/scripts/release.py get-version --cargo)" >> "$GITHUB_OUTPUT" echo "semver=${RELEASE_TAG#v}" >> "$GITHUB_OUTPUT" - - name: Find previous release tag - id: prev - run: | - set -euo pipefail - # List tags matching v*.*.* sorted by version descending, keep only - # stable releases (no pre-release suffixes like -rc1), skip the current tag - PREV=$(git tag --list 'v*.*.*' --sort=-version:refname \ - | grep -P '^v\d+\.\d+\.\d+$' \ - | grep -v "^${RELEASE_TAG}$" \ - | head -n1 || true) - echo "tag=${PREV}" >> "$GITHUB_OUTPUT" - echo "Previous release tag: ${PREV:-"(none, first release)"}" - build-gateway: needs: [compute-versions] uses: ./.github/workflows/docker-build.yml @@ -90,9 +76,16 @@ jobs: component: cluster cargo-version: ${{ needs.compute-versions.outputs.cargo_version }} + e2e: + needs: [build-gateway, build-cluster] + uses: ./.github/workflows/e2e-test.yml + with: + image-tag: ${{ github.sha }} + runner: build-arm64 + tag-ghcr-release: name: Tag GHCR Images for Release - needs: [compute-versions, build-gateway, build-cluster] + needs: [compute-versions, build-gateway, build-cluster, e2e] runs-on: build-amd64 timeout-minutes: 10 steps: @@ -118,7 +111,7 @@ jobs: build-python-wheels: name: Stage Python Wheels - needs: [compute-versions, build-gateway, build-cluster] + needs: [compute-versions] runs-on: build-amd64 timeout-minutes: 120 outputs: @@ -454,12 +447,10 @@ jobs: name: OpenShell ${{ env.RELEASE_TAG }} prerelease: false tag_name: ${{ env.RELEASE_TAG }} - generate_release_notes: false + generate_release_notes: true body: | ## OpenShell ${{ env.RELEASE_TAG }} - ${{ needs.compute-versions.outputs.previous_tag != '' && format('**Full changelog**: [{0}...{1}](https://github.com/{2}/compare/{0}...{1})', needs.compute-versions.outputs.previous_tag, env.RELEASE_TAG, github.repository) || '' }} - ### Quick install Requires the [GitHub CLI (`gh`)](https://cli.github.com) to be installed and authenticated.