Skip to content

Commit

Permalink
Split CI versus release
Browse files Browse the repository at this point in the history
  • Loading branch information
mathieu-benoit authored Oct 14, 2024
1 parent 7048a15 commit 8e5b60e
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 66 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: ci
on:
pull_request:
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Fetch all tags
run: git fetch --force --tags
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: Run Go Tests
run: go test ./... -cover -race
- name: Build binary
uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
version: '~> v2'
args: build --snapshot
- name: Install license check tool
run: go install github.com/google/addlicense@v1
- name: Check licenses
run: addlicense -l apache -check -v -ignore '**/*.yaml' -c Humanitec ./cmd ./internal/
- name: Build docker image
uses: docker/build-push-action@v6
with:
context: .
push: false
76 changes: 10 additions & 66 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -1,77 +1,24 @@
name: release

on:
pull_request:
push:
branches:
- 'main'

permissions:
contents: read

tags:
- 0.**
permissions: write-all
jobs:

test:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
-
name: Fetch all tags
run: git fetch --force --tags
-
name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
-
name: Run Go Tests
run: go test ./... -cover -race
-
name: Build binary
uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
version: '~> v2'
args: build --snapshot
-
name: Install license check tool
run: go install github.com/google/addlicense@v1
-
name: Check licenses
run: addlicense -l apache -check -v -ignore '**/*.yaml' -c Humanitec ./cmd ./internal/
-
name: Build docker image
uses: docker/build-push-action@v6
with:
context: .
push: false

release:
if: startsWith(github.ref, 'refs/tags/0.')
needs:
- test
runs-on: ubuntu-latest
permissions: write-all
steps:
-
name: Checkout
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
-
name: Fetch all tags
- name: Fetch all tags
run: git fetch --force --tags
-
name: Set up Go
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
-
name: Run GoReleaser
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
Expand All @@ -80,18 +27,15 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAP_GITHUB_TOKEN: ${{ secrets.TAP_GITHUB_TOKEN }}
-
name: Set up Docker Buildx
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to GitHub Container Registry
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: Build and push docker image
- name: Build and push docker image
uses: docker/build-push-action@v6
with:
context: .
Expand Down

0 comments on commit 8e5b60e

Please sign in to comment.