diff --git a/.github/workflows/deb.yaml b/.github/workflows/deb.yaml deleted file mode 100644 index a529c66..0000000 --- a/.github/workflows/deb.yaml +++ /dev/null @@ -1,80 +0,0 @@ -name: pack from deb - -on: - push: - branches: - - master - - dev - paths: - - .github/workflows/deb.yaml - - deb/* - pull_request: - paths: - - .github/workflows/deb.yaml - - deb/* - -env: - DOCKER_REPO: shenxn/protonmail-bridge - DOCKER_REPO_DEV: ghcr.io/shenxn/protonmail-bridge-dev - -jobs: - deb: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@master - - name: Set version - id: version - run: echo "::set-output name=version::`cat deb/VERSION`" - - name: Set repo - id: repo - run: if [[ $GITHUB_REF == "refs/heads/master" ]]; then echo "::set-output name=repo::${DOCKER_REPO}"; else echo "::set-output name=repo::${DOCKER_REPO_DEV}"; fi - - name: Docker meta - id: docker_meta - uses: crazy-max/ghaction-docker-meta@v1 - with: - images: ${{ steps.repo.outputs.repo }} - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Build image without push - uses: docker/build-push-action@v2 - with: - context: ./deb - file: ./deb/Dockerfile - load: true - tags: protonmail-bridge:latest - - name: Scan image - id: scan - uses: anchore/scan-action@v2 - with: - image: protonmail-bridge:latest - fail-build: true - severity-cutoff: critical - acs-report-enable: true - - name: Upload Anchore scan SARIF report - uses: github/codeql-action/upload-sarif@v1 - with: - sarif_file: ${{ steps.scan.outputs.sarif }} - - name: Login to DockerHub - uses: docker/login-action@v1 - if: ${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/master' }} - with: - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_PASSWORD }} - - name: Login to GitHub Container Registry - uses: docker/login-action@v1 - if: ${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/dev' }} - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.CR_PAT }} - - name: Push image - uses: docker/build-push-action@v2 - with: - context: ./deb - file: ./deb/Dockerfile - tags: | - ${{ steps.repo.outputs.repo }}:latest - ${{ steps.repo.outputs.repo }}:${{ steps.version.outputs.version }} - labels: ${{ steps.docker_meta.outputs.labels }} - push: ${{ github.event_name != 'pull_request' }} diff --git a/.github/workflows/build.yaml b/.github/workflows/next.yaml similarity index 70% rename from .github/workflows/build.yaml rename to .github/workflows/next.yaml index 13bbeba..31a9db0 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/next.yaml @@ -1,21 +1,24 @@ -name: build from source +name: build next on: push: branches: - - master - - dev + - next paths: - - .github/workflows/build.yaml - - build/* + - .github/workflows/next.yaml + - docker/* + - protonmail_version/* + - VERSION pull_request: paths: - - .github/workflows/build.yaml - - build/* + - .github/workflows/next.yaml + - docker/* + - protonmail_version/* + - VERSION env: - DOCKER_REPO: shenxn/protonmail-bridge - DOCKER_REPO_DEV: ghcr.io/shenxn/protonmail-bridge-dev + DOCKER_REPO: shenxn/protonmail-bridge-ng + DOCKER_REPO_DEV: ghcr.io/shenxn/protonmail-bridge-ng-dev PLATFORMS: linux/amd64,linux/arm64/v8 jobs: @@ -31,7 +34,9 @@ jobs: uses: actions/checkout@master - name: Set version id: version - run: echo "::set-output name=version::`cat build/VERSION`" + run: | + echo "::set-output name=image_version::$(cat VERSION)" && \ + echo "::set-output name=protonmail_bridge_version::$(cat protonmail_bridge_version/VERSION_LATEST)" - name: Set repo id: repo run: if [[ $GITHUB_REF == "refs/heads/master" ]]; then echo "::set-output name=repo::${DOCKER_REPO}"; else echo "::set-output name=repo::${DOCKER_REPO_DEV}"; fi @@ -49,8 +54,9 @@ jobs: - name: Build image without push to registry uses: docker/build-push-action@v2 with: - context: ./build - file: ./build/Dockerfile + context: ./docker + file: ./docker/Dockerfile + build-args: PROTONMAIL_BRIDGE_VERSION=${{ steps.version.outputs.protonmail_bridge_version }} platforms: ${{ env.PLATFORMS }} push: true tags: localhost:5000/protonmail-bridge:latest @@ -74,7 +80,7 @@ jobs: password: ${{ secrets.REGISTRY_PASSWORD }} - name: Login to GitHub Container Registry uses: docker/login-action@v1 - if: ${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/dev' }} + if: ${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/next' }} with: registry: ghcr.io username: ${{ github.repository_owner }} @@ -82,11 +88,12 @@ jobs: - name: Push image uses: docker/build-push-action@v2 with: - context: ./build - file: ./build/Dockerfile + context: ./docker + file: ./docker/Dockerfile + build-args: PROTONMAIL_BRIDGE_VERSION=${{ steps.version.outputs.protonmail_bridge_version }} platforms: ${{ env.PLATFORMS }} tags: | - ${{ steps.repo.outputs.repo }}:build - ${{ steps.repo.outputs.repo }}:${{ steps.version.outputs.version }}-build + ${{ steps.repo.outputs.repo }}:latest + ${{ steps.repo.outputs.repo }}:${{ steps.version.outputs.image_version }}-${{ steps.version.outputs.protonmail_bridge_version }} labels: ${{ steps.docker_meta.outputs.labels }} push: ${{ github.event_name != 'pull_request' }} diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..ceab6e1 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.1 \ No newline at end of file diff --git a/protonmail_bridge_version/VERSION_LATEST b/protonmail_bridge_version/VERSION_LATEST new file mode 100644 index 0000000..89365ca --- /dev/null +++ b/protonmail_bridge_version/VERSION_LATEST @@ -0,0 +1 @@ +v1.8.7 \ No newline at end of file diff --git a/protonmail_bridge_version/VERSION_PRE b/protonmail_bridge_version/VERSION_PRE new file mode 100644 index 0000000..a1a76c0 --- /dev/null +++ b/protonmail_bridge_version/VERSION_PRE @@ -0,0 +1 @@ +v1.8.9 \ No newline at end of file