diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 636497a..fb695d3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,5 +1,5 @@ name: Build -on: [push, pull_request] +on: [push] jobs: build: diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index c6a54ea..373555f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,13 +1,18 @@ # https://github.com/docker/build-push-action#usage - name: Docker + on: push: branches: - - dev + - 'dev' tags: - '*' +env: + DOCKERHUB_REPO: nadoo/glider + GHCR_REPO: ghcr.io/nadoo/glider + PLATFORMS: linux/amd64,linux/arm64,linux/arm/v7 + jobs: publish: name: Publish @@ -23,64 +28,38 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - with: - buildkitd-flags: "--debug" - - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache - 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.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Login to GitHub Container Registry - uses: docker/login-action@v1 + - name: Login to GHCR + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 with: registry: ghcr.io username: ${{ github.repository_owner }} - password: ${{ secrets.GHCR_TOKEN }} + password: ${{ secrets.GITHUB_TOKEN }} - - name: Build dev branch and push - if: github.ref == 'refs/heads/dev' + - name: Docker meta + id: meta + uses: docker/metadata-action@v3 + with: + images: | + ${{ env.DOCKERHUB_REPO }} + ${{ env.GHCR_REPO }} + tags: | + type=ref,event=branch + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + + - name: Build and push uses: docker/build-push-action@v2 with: context: . - platforms: linux/amd64,linux/arm/v7,linux/arm64 - push: true - tags: 'nadoo/glider:dev,ghcr.io/nadoo/glider:dev' - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,mode=max,dest=/tmp/.buildx-cache - - - name: Get all docker tags - if: startsWith(github.ref, 'refs/tags/') - uses: actions/github-script@v3 - id: tags - with: - script: | - const ref = `${context.payload.ref.replace(/\/?refs\/tags\//, '')}` - const tags = [ - 'nadoo/glider:latest', - `nadoo/glider:${ref}`, - 'ghcr.io/nadoo/glider:latest', - `ghcr.io/nadoo/glider:${ref}` - ] - return tags.join(',') - result-encoding: string - - - name: Build release and push - if: startsWith(github.ref, 'refs/tags/') - uses: docker/build-push-action@v2 - with: - context: . - platforms: linux/amd64,linux/arm/v7,linux/arm64 - push: true - tags: ${{steps.tags.outputs.result}} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,mode=max,dest=/tmp/.buildx-cache + platforms: ${{ env.PLATFORMS }} + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} diff --git a/.goreleaser.yml b/.goreleaser.yml index a280daa..42514a6 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -39,6 +39,7 @@ builds: - mipsle - mips64 - mips64le + - riscv64 goarm: - 6 - 7 diff --git a/go.mod b/go.mod index c9b8b05..2eaa996 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/mdlayher/ethernet v0.0.0-20190606142754-0394541c37b7 // indirect github.com/mdlayher/raw v0.0.0-20211126142749-4eae47f3d54b // indirect github.com/pkg/errors v0.9.1 // indirect - github.com/templexxx/cpu v0.0.9 // indirect + github.com/templexxx/cpu v0.0.10-0.20211111114238-98168dcec14a // indirect github.com/templexxx/xorsimd v0.4.1 // indirect github.com/tjfoc/gmsm v1.4.1 // indirect github.com/u-root/uio v0.0.0-20210528151154-e40b768296a7 // indirect diff --git a/go.sum b/go.sum index f672d7e..a21038d 100644 --- a/go.sum +++ b/go.sum @@ -82,8 +82,8 @@ github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/templexxx/cpu v0.0.1/go.mod h1:w7Tb+7qgcAlIyX4NhLuDKt78AHA5SzPmq0Wj6HiEnnk= github.com/templexxx/cpu v0.0.7/go.mod h1:w7Tb+7qgcAlIyX4NhLuDKt78AHA5SzPmq0Wj6HiEnnk= -github.com/templexxx/cpu v0.0.9 h1:cGGLK8twbc1J1S/fHnZW7BylXYaFP+0fR2s+nzsFDiU= -github.com/templexxx/cpu v0.0.9/go.mod h1:w7Tb+7qgcAlIyX4NhLuDKt78AHA5SzPmq0Wj6HiEnnk= +github.com/templexxx/cpu v0.0.10-0.20211111114238-98168dcec14a h1:f0GQM8LuKYnXdNLcAg+di6PULSlR5iQtZT3bDwDRiA0= +github.com/templexxx/cpu v0.0.10-0.20211111114238-98168dcec14a/go.mod h1:w7Tb+7qgcAlIyX4NhLuDKt78AHA5SzPmq0Wj6HiEnnk= github.com/templexxx/xorsimd v0.4.1 h1:iUZcywbOYDRAZUasAs2eSCUW8eobuZDy0I9FJiORkVg= github.com/templexxx/xorsimd v0.4.1/go.mod h1:W+ffZz8jJMH2SXwuKu9WhygqBMbFnp14G2fqEr8qaNo= github.com/tjfoc/gmsm v1.3.2/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w=