fix(config): conditionally set SubscribePath based on gateway mode #42
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| jobs: | |
| build-docker: | |
| runs-on: ubuntu-latest | |
| env: | |
| IMAGE_NAME: ppanel-server | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Log in to Docker Hub | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKER_USERNAME }} | |
| password: ${{ secrets.DOCKER_PASSWORD }} | |
| - name: Extract version from git tag | |
| id: version | |
| run: echo "VERSION=$(git describe --tags --abbrev=0 | sed 's/^v//')" >> $GITHUB_ENV | |
| - name: Get short SHA | |
| id: sha | |
| run: echo "GIT_SHA=${GITHUB_SHA::8}" >> $GITHUB_ENV | |
| - name: Set BUILD_TIME env | |
| run: echo BUILD_TIME=$(date --iso-8601=seconds) >> ${GITHUB_ENV} | |
| - name: Build and push Docker image for main release | |
| if: "!contains(github.ref_name, 'beta')" | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| file: Dockerfile | |
| platforms: linux/amd64,linux/arm64 | |
| push: true | |
| build-args: | | |
| VERSION=${{ env.VERSION }} | |
| tags: | | |
| ${{ secrets.DOCKER_USERNAME }}/${{ env.IMAGE_NAME }}:latest | |
| ${{ secrets.DOCKER_USERNAME }}/${{ env.IMAGE_NAME }}:${{ env.VERSION }}-${{ env.GIT_SHA }} | |
| - name: Build and push Docker image for beta release | |
| if: contains(github.ref_name, 'beta') | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| file: Dockerfile | |
| platforms: linux/amd64,linux/arm64 | |
| push: true | |
| build-args: | | |
| VERSION=${{ env.VERSION }} | |
| tags: | | |
| ${{ secrets.DOCKER_USERNAME }}/${{ env.IMAGE_NAME }}:beta | |
| ${{ secrets.DOCKER_USERNAME }}/${{ env.IMAGE_NAME }}:${{ env.VERSION }}-${{ env.GIT_SHA }} | |
| release-notes: | |
| runs-on: ubuntu-latest | |
| needs: build-docker | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.21' | |
| - name: Install GoReleaser | |
| run: | | |
| go install github.com/goreleaser/goreleaser/v2@latest | |
| - name: Run GoReleaser | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} | |
| run: | | |
| goreleaser check | |
| goreleaser release --clean | |
| releases-matrix: | |
| name: Release ppanel-server binary | |
| runs-on: ubuntu-latest | |
| needs: release-notes # wait for release-notes job to finish | |
| strategy: | |
| matrix: | |
| # build and publish in parallel: linux/386, linux/amd64, linux/arm64, | |
| # windows/386, windows/amd64, windows/arm64, darwin/amd64, darwin/arm64 | |
| goos: [ linux, windows, darwin ] | |
| goarch: [ '386', amd64, arm64 ] | |
| exclude: | |
| - goarch: '386' | |
| goos: darwin | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Extract version from git tag | |
| id: version | |
| run: echo "VERSION=$(git describe --tags --abbrev=0 | sed 's/^v//')" >> $GITHUB_ENV | |
| - name: Set BUILD_TIME env | |
| run: echo BUILD_TIME=$(date --iso-8601=seconds) >> ${GITHUB_ENV} | |
| - uses: actions/checkout@v4 | |
| - uses: wangyoucao577/go-release-action@v1 | |
| with: | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| goos: ${{ matrix.goos }} | |
| goarch: ${{ matrix.goarch }} | |
| asset_name: "ppanel-server-${{ matrix.goos }}-${{ matrix.goarch }}" | |
| goversion: "https://dl.google.com/go/go1.23.3.linux-amd64.tar.gz" | |
| project_path: "." | |
| binary_name: "ppanel-server" | |
| extra_files: LICENSE etc | |
| ldflags: -X "github.com/perfect-panel/server/pkg/constant.Version=${{env.VERSION}}" -X "github.com/perfect-panel/server/pkg/constant.BuildTime=${{env.BUILD_TIME}}" |