diff --git a/.github/workflows/master.yml b/.github/workflows/main.yml similarity index 57% rename from .github/workflows/master.yml rename to .github/workflows/main.yml index 1cec1db..daa192c 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/main.yml @@ -7,6 +7,8 @@ on: branches: master push: branches: master + release: + types: [published, edited] jobs: hadolint: @@ -18,7 +20,7 @@ jobs: uses: hadolint/hadolint-action@v1.5.0 with: ignore: DL3018 - buildx: + docker: runs-on: ubuntu-latest steps: - @@ -31,18 +33,29 @@ jobs: - name: Print builder available platforms run: echo ${{ steps.buildx.outputs.platforms }} + - + id: meta + uses: docker/metadata-action@v3 + with: + images: serjs/go-socks5-proxy + tags: | + type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'master') }} + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{raw}} - name: Dockerhub login uses: docker/login-action@v2 + if: github.event_name != 'pull_request' with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Run Buildx for amd64, armv7, arm64 architectures - run: | - docker buildx build \ - --platform linux/amd64,linux/arm/v7,linux/arm64 \ - --output "type=image,push=false" \ - --push \ - --tag "$DOCKERHUB_REPOSITORY:latest" \ - . + uses: docker/build-push-action@v2 + with: + context: . + platforms: linux/amd64,linux/arm/v7,linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 2d9b28d..0000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: "Release tag" -env: - DOCKERHUB_REPOSITORY: serjs/go-socks5-proxy - -on: - release: - # Only use the types keyword to narrow down the activity types that will trigger your workflow. - types: [published, edited] - -jobs: - buildx: - runs-on: ubuntu-latest - steps: - - - name: Checkout - uses: actions/checkout@v1 - - - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v1.1.0 - - - name: Release version - run: echo "RELEASE_VERSION=${GITHUB_REF:10}" >> $GITHUB_ENV - - - name: Print release version - run: echo ${{ env.RELEASE_VERSION }} - - - name: Dockerhub login - run: docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Run Buildx for amd64, armv7, arm64 architectures - run: | - docker buildx build \ - --platform linux/amd64,linux/arm/v7,linux/arm64 \ - --output "type=image,push=false" \ - --push \ - --tag "$DOCKERHUB_REPOSITORY:$RELEASE_VERSION" \ - .