mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 11:44:02 +03:00
More CI updates
This commit is contained in:
+39
-72
@@ -39,30 +39,17 @@ jobs:
|
||||
name: Test
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
strategy:
|
||||
matrix:
|
||||
go_version:
|
||||
- ^1.25
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
go-version: ${{ matrix.go_version }}
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v5
|
||||
with:
|
||||
path: ~/go/pkg/mod
|
||||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: ${{ runner.os }}-go-
|
||||
- uses: jdx/mise-action@v3
|
||||
name: Install mise
|
||||
|
||||
- name: Run tests
|
||||
run: go test -coverprofile=./coverage.txt -covermode=atomic -v ./...
|
||||
run: mise tasks run covtest
|
||||
|
||||
- name: Collect coverage
|
||||
uses: codecov/codecov-action@v5
|
||||
@@ -79,29 +66,11 @@ jobs:
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
go-version: ^1.25
|
||||
|
||||
- name: Cache fuzz results
|
||||
uses: actions/cache@v5
|
||||
with:
|
||||
path: ~/.cache/go-build/fuzz
|
||||
key: ${{ runner.os }}-go-${{ hashFiles('**/*_fuzz_test.go', '**/*_fuzz_internal_test.go') }}
|
||||
restore-keys: ${{ runner.os }}-go-
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v5
|
||||
with:
|
||||
path: ~/go/pkg/mod
|
||||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: ${{ runner.os }}-go-
|
||||
|
||||
- uses: jdx/mise-action@v3
|
||||
name: Install mise
|
||||
|
||||
- run: mise tasks run 'test:fuzz:*'
|
||||
- name: Run fuzzing
|
||||
run: mise tasks run 'test:fuzz:*'
|
||||
|
||||
|
||||
lint:
|
||||
@@ -114,13 +83,11 @@ jobs:
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
go-version: ^1.25
|
||||
- uses: jdx/mise-action@v3
|
||||
name: Install mise
|
||||
|
||||
- name: Run linter
|
||||
uses: golangci/golangci-lint-action@v9.2.0
|
||||
run: mise tasks run lint
|
||||
|
||||
docker:
|
||||
name: Docker
|
||||
@@ -133,17 +100,17 @@ jobs:
|
||||
submodules: recursive
|
||||
|
||||
- name: Get Docker meta
|
||||
id: docker_meta
|
||||
uses: crazy-max/ghaction-docker-meta@v1
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: nineseconds/mtg,ghcr.io/9seconds/mtg
|
||||
tag-semver: "{{version}},{{major}},{{major}}.{{minor}}"
|
||||
|
||||
- name: Setup QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Setup BuildX
|
||||
uses: docker/setup-buildx-action@v1
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Setup cache
|
||||
uses: actions/cache@v5
|
||||
@@ -152,30 +119,30 @@ jobs:
|
||||
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-buildx-
|
||||
#
|
||||
# - name: Login to DockerHub
|
||||
# if: github.event_name != 'pull_request'
|
||||
# uses: docker/login-action@v1
|
||||
# with:
|
||||
# username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
# password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
#
|
||||
# - name: Login to GHCR.io
|
||||
# if: github.event_name != 'pull_request'
|
||||
# uses: docker/login-action@v1
|
||||
# with:
|
||||
# registry: ghcr.io
|
||||
# username: ${{ github.repository_owner }}
|
||||
# password: ${{ secrets.GH_PAT }}
|
||||
#
|
||||
# - name: Build and push
|
||||
# uses: docker/build-push-action@v2
|
||||
# with:
|
||||
# pull: true
|
||||
# context: .
|
||||
# platforms: linux/amd64,linux/arm64,linux/386,linux/arm/v7,linux/arm/v6
|
||||
# push: ${{ github.event_name != 'pull_request' }}
|
||||
# tags: ${{ steps.docker_meta.outputs.tags }}
|
||||
# labels: ${{ steps.docker_meta.outputs.labels }}
|
||||
# cache-from: type=local,src=/tmp/buildx-cache
|
||||
# cache-to: type=local,dest=/tmp/buildx-cache
|
||||
|
||||
- name: Login to GHCR.io
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GH_PAT }}
|
||||
|
||||
- name: Login to DockerHub
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
pull: true
|
||||
context: .
|
||||
platforms: linux/amd64,linux/arm64,linux/386,linux/arm/v7,linux/arm/v6
|
||||
push: false
|
||||
tags: ${{ steps.docker_meta.outputs.tags }}
|
||||
labels: ${{ steps.docker_meta.outputs.labels }}
|
||||
cache-from: type=local,src=/tmp/buildx-cache
|
||||
cache-to: type=local,dest=/tmp/buildx-cache
|
||||
|
||||
Reference in New Issue
Block a user