ci: Use GitHub actions version 3, 4, and 5

- Switch from `v3` to `v4` of `git checkout` version.
- Switch from `v2` to `v3` of `qemu setup` action version.
- Switch from `v2` to `v3` of `docker buildx` setup.
- Switch from `v2` to `v3` of `docker login` version.
- Switch versions of multiple actions to their latest (`v5` for build and push) versions.
- Main branch is changed from `main` to `master`.
This commit is contained in:
Laisky.Cai 2024-01-12 05:44:19 +00:00
parent d37fa80106
commit 50e0638313

View File

@ -3,7 +3,7 @@ name: ci
on:
push:
branches:
- 'main'
- 'master'
jobs:
docker:
@ -11,55 +11,39 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to Docker Hub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# Get values for cache paths to be used in later steps
- id: go-cache-paths
run: |
echo "::set-output name=go-build::$(go env GOCACHE)"
echo "::set-output name=go-mod::$(go env GOMODCACHE)"
# Cache go build cache, used to speedup go test
- name: Go Build Cache
uses: actions/cache@v2
with:
path: ${{ steps.go-cache-paths.outputs.go-build }}
key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}
# Cache go mod cache, used to speedup builds
- name: Go Mod Cache
uses: actions/cache@v2
with:
path: ${{ steps.go-cache-paths.outputs.go-mod }}
key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }}
- name: Add SHORT_SHA env property with commit short sha
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-7`" >> $GITHUB_ENV
-
name: Build and push latest
uses: docker/build-push-action@v4
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ppcelery/one-api:latest
cache-from: type=gha
cache-to: type=gha,mode=max
-
name: Build and push hash label
uses: docker/build-push-action@v4
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ppcelery/one-api:${{ env.SHORT_SHA }}
cache-from: type=gha
cache-to: type=gha,mode=max