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