|
1 | 1 | name: ci
|
2 | 2 |
|
3 |
| -concurrency: |
4 |
| - cancel-in-progress: ${{ ! startsWith(github.ref, 'refs/tags/v') }} |
5 |
| - group: ci-${{ github.ref_name }}-${{ github.event_name }} |
6 |
| - |
7 | 3 | on:
|
8 | 4 | pull_request:
|
9 | 5 | branches:
|
@@ -51,70 +47,61 @@ jobs:
|
51 | 47 | scout-compare: true
|
52 | 48 | scout-cves: true
|
53 | 49 |
|
54 |
| - release-please: |
| 50 | + semantic-release: |
55 | 51 | if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
56 | 52 | runs-on: ubuntu-latest
|
57 |
| - outputs: |
58 |
| - releases_created: ${{ steps.release-please.outputs.releases_created }} |
59 |
| - tag_name: ${{ steps.release-please.outputs.tag_name }} |
60 | 53 | permissions:
|
61 | 54 | contents: write
|
| 55 | + packages: write |
| 56 | + issues: write |
62 | 57 | pull-requests: write
|
63 |
| - steps: |
64 |
| - - id: release-please |
65 |
| - name: Release please |
66 |
| - uses: googleapis/release-please-action@v4 |
67 |
| - with: |
68 |
| - release-type: simple |
69 |
| - |
70 |
| - goreleaser: |
71 |
| - needs: release-please |
72 |
| - if: needs.release-please.outputs.releases_created == 'true' |
73 |
| - runs-on: ubuntu-latest |
| 58 | + id-token: write |
74 | 59 | steps:
|
75 | 60 | - name: Checkout
|
76 | 61 | uses: actions/checkout@v4
|
77 | 62 | with:
|
78 | 63 | fetch-depth: 0
|
79 |
| - - name: Set up Go |
80 |
| - uses: actions/setup-go@v5 |
| 64 | + ssh-key: ${{ secrets.GH_DEPLOY_KEY }} |
| 65 | + - name: Setup bun |
| 66 | + uses: oven-sh/setup-bun@v2 |
81 | 67 | with:
|
82 |
| - go-version: stable |
| 68 | + bun-version: latest |
| 69 | + - name: Install bun deps |
| 70 | + run: bun install |
| 71 | + - name: Install syft |
| 72 | + uses: anchore/sbom-action/download-syft@v0 |
83 | 73 | - name: Setup Cosign CLI
|
84 | 74 | uses: sigstore/cosign-installer@v3
|
85 |
| - - name: Run GoReleaser |
86 |
| - uses: goreleaser/goreleaser-action@v6 |
87 |
| - with: |
88 |
| - distribution: goreleaser |
89 |
| - version: latest |
90 |
| - args: release --clean |
| 75 | + - name: Install goreleaser |
| 76 | + run: | |
| 77 | + echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | sudo tee /etc/apt/sources.list.d/goreleaser.list |
| 78 | + sudo apt update |
| 79 | + sudo apt install -y goreleaser |
| 80 | + goreleaser --version |
| 81 | + - id: semantic-release |
| 82 | + name: Release |
91 | 83 | env:
|
92 |
| - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
93 |
| - |
94 |
| - build-stable: |
95 |
| - needs: |
96 |
| - - release-please |
97 |
| - - goreleaser |
98 |
| - if: needs.release-please.outputs.releases_created == 'true' |
99 |
| - runs-on: ubuntu-latest |
100 |
| - steps: |
101 |
| - - name: Extract semver major version |
| 84 | + GITHUB_TOKEN: ${{ github.token }} |
| 85 | + run: bunx semantic-release@v24 |
| 86 | + - if: steps.semantic-release.outputs.version != '' |
| 87 | + name: Extract semver major version |
102 | 88 | id: semver
|
103 | 89 | run: |
|
104 |
| - major=$(echo "${{ needs.release-please.outputs.tag_name }}" | cut -d. -f1) |
| 90 | + major=$(echo "${{ steps.semantic-release.outputs.version }}" | cut -d. -f1) |
105 | 91 | echo "major=${major}" >> "$GITHUB_OUTPUT"
|
106 |
| - - name: Build docker |
| 92 | + - if: steps.semantic-release.outputs.version != '' |
| 93 | + name: Build docker |
107 | 94 | uses: meysam81/build-docker@main
|
108 | 95 | with:
|
109 | 96 | build-args: |
|
110 |
| - VERSION=${{ needs.release-please.outputs.tag_name }} |
| 97 | + VERSION=${{ steps.semantic-release.outputs.version }} |
111 | 98 | image-name: ghcr.io/meysam81/${{ github.event.repository.name }}
|
112 | 99 | image-extra-tags: |
|
113 |
| - ghcr.io/meysam81/${{ github.event.repository.name }}:${{ needs.release-please.outputs.tag_name }} |
| 100 | + ghcr.io/meysam81/${{ github.event.repository.name }}:${{ steps.semantic-release.outputs.version }} |
114 | 101 | ghcr.io/meysam81/${{ github.event.repository.name }}:${{ steps.semver.outputs.major }}
|
115 | 102 | ghcr.io/meysam81/${{ github.event.repository.name }}:stable
|
116 | 103 | metadata-tags: |
|
117 | 104 | type=semver,pattern={{version}}
|
118 | 105 | type=semver,pattern={{major}}.{{minor}}
|
119 | 106 | type=semver,pattern={{major}}
|
120 |
| - ref: ${{ needs.release-please.outputs.tag_name }} |
| 107 | + ref: ${{ steps.semantic-release.outputs.version }} |
0 commit comments