Docker Images (Tor) #217
This file contains 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: Docker Images (Tor) | |
on: | |
schedule: | |
- cron: '00 00 * * 5' | |
workflow_dispatch: | |
env: | |
REGISTRY: ghcr.io | |
DOCKERHUB_USERNAME: cyberwormuk | |
jobs: | |
publish: | |
permissions: | |
id-token: write | |
packages: write | |
contents: read | |
attestations: write | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
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: Log-in to ghcr | |
uses: docker/login-action@v3 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Log-in to docker | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ env.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKER }} | |
- name: Build and push tor | |
uses: docker/build-push-action@v6 | |
id: pushbase | |
env: | |
SOURCE_DATE_EPOCH: 0 | |
with: | |
context: torbase/ | |
platforms: linux/amd64,linux/386,linux/arm64,linux/arm/v7 | |
push: true | |
tags: | | |
${{ env.REGISTRY }}/${{ github.actor }}/torbase:latest | |
${{ env.DOCKERHUB_USERNAME }}/torbase:latest | |
${{ env.REGISTRY }}/${{ github.actor }}/tor-base:latest | |
${{ env.DOCKERHUB_USERNAME }}/tor-base:latest | |
- name: Attest | |
uses: actions/attest-build-provenance@v1 | |
id: attestbase | |
with: | |
subject-name: ${{ env.REGISTRY }}/${{ github.actor }}/tor-base | |
subject-digest: ${{ steps.pushbase.outputs.digest }} | |
push-to-registry: true | |
- name: Build and push proxy | |
uses: docker/build-push-action@v6 | |
id: pushproxy | |
env: | |
SOURCE_DATE_EPOCH: 0 | |
with: | |
context: torproxy/ | |
platforms: linux/amd64,linux/386,linux/arm64,linux/arm/v7 | |
push: true | |
tags: | | |
${{ env.REGISTRY }}/${{ github.actor }}/torproxy:latest | |
${{ env.DOCKERHUB_USERNAME }}/torproxy:latest | |
${{ env.REGISTRY }}/${{ github.actor }}/tor-proxy:latest | |
${{ env.DOCKERHUB_USERNAME }}/tor-proxy:latest | |
- name: Attest | |
uses: actions/attest-build-provenance@v1 | |
id: attestproxy | |
with: | |
subject-name: ${{ env.REGISTRY }}/${{ github.actor }}/tor-proxy | |
subject-digest: ${{ steps.pushproxy.outputs.digest }} | |
push-to-registry: true | |
- name: Build and push lyrebird-bin | |
uses: docker/build-push-action@v6 | |
id: pushlyrebirdbin | |
env: | |
SOURCE_DATE_EPOCH: 0 | |
with: | |
context: lyrebird/ | |
platforms: linux/amd64,linux/386,linux/arm64,linux/arm/v7 | |
push: true | |
tags: | | |
${{ env.REGISTRY }}/${{ github.actor }}/lyrebird:latest | |
${{ env.DOCKERHUB_USERNAME }}/lyrebird:latest | |
- name: Attest | |
uses: actions/attest-build-provenance@v1 | |
id: attestlyrebirdbin | |
with: | |
subject-name: ${{ env.REGISTRY }}/${{ github.actor }}/lyrebird | |
subject-digest: ${{ steps.pushlyrebirdbin.outputs.digest }} | |
push-to-registry: true | |
- name: Build and push obfs4-proxy | |
uses: docker/build-push-action@v6 | |
id: pushobfs4proxy | |
env: | |
SOURCE_DATE_EPOCH: 0 | |
with: | |
context: obfs4-proxy/ | |
platforms: linux/amd64,linux/386,linux/arm64,linux/arm/v7 | |
push: true | |
tags: | | |
${{ env.REGISTRY }}/${{ github.actor }}/obfs4-proxy:latest | |
${{ env.REGISTRY }}/${{ github.actor }}/lyrebird-proxy:latest | |
${{ env.DOCKERHUB_USERNAME }}/obfs4-proxy:latest | |
${{ env.DOCKERHUB_USERNAME }}/lyrebird-proxy:latest | |
- name: Attest | |
uses: actions/attest-build-provenance@v1 | |
id: attestobfs4proxy | |
with: | |
subject-name: ${{ env.REGISTRY }}/${{ github.actor }}/obfs4-proxy | |
subject-digest: ${{ steps.pushobfs4proxy.outputs.digest }} | |
push-to-registry: true | |
- name: Build and push obfs4-bridge | |
uses: docker/build-push-action@v6 | |
id: pushobfs4bridge | |
env: | |
SOURCE_DATE_EPOCH: 0 | |
with: | |
context: obfs4-bridge/ | |
platforms: linux/amd64,linux/386,linux/arm64,linux/arm/v7 | |
push: true | |
tags: | | |
${{ env.REGISTRY }}/${{ github.actor }}/obfs4-bridge:latest | |
${{ env.DOCKERHUB_USERNAME }}/obfs4-bridge:latest | |
- name: Attest | |
uses: actions/attest-build-provenance@v1 | |
id: attestobfs4bridge | |
with: | |
subject-name: ${{ env.REGISTRY }}/${{ github.actor }}/obfs4-bridge | |
subject-digest: ${{ steps.pushobfs4bridge.outputs.digest }} | |
push-to-registry: true | |
- name: Build and push snowflake-bin | |
uses: docker/build-push-action@v6 | |
id: pushsnowflakebin | |
env: | |
SOURCE_DATE_EPOCH: 0 | |
with: | |
context: snowflake/ | |
platforms: linux/amd64,linux/386,linux/arm64,linux/arm/v7 | |
push: true | |
tags: | | |
${{ env.REGISTRY }}/${{ github.actor }}/snowflake:latest | |
${{ env.DOCKERHUB_USERNAME }}/snowflake:latest | |
- name: Attest | |
uses: actions/attest-build-provenance@v1 | |
id: attestsnowflakebin | |
with: | |
subject-name: ${{ env.REGISTRY }}/${{ github.actor }}/snowflake | |
subject-digest: ${{ steps.pushsnowflakebin.outputs.digest }} | |
push-to-registry: true | |
- name: Build and push snowflake-proxy | |
uses: docker/build-push-action@v6 | |
id: pushsnowflakeproxy | |
env: | |
SOURCE_DATE_EPOCH: 0 | |
with: | |
context: snowflake-proxy/ | |
platforms: linux/amd64,linux/386,linux/arm64,linux/arm/v7 | |
push: true | |
tags: | | |
${{ env.REGISTRY }}/${{ github.actor }}/snowflake-proxy:latest | |
${{ env.DOCKERHUB_USERNAME }}/snowflake-proxy:latest | |
- name: Attest | |
uses: actions/attest-build-provenance@v1 | |
id: attestsnowflakeproxy | |
with: | |
subject-name: ${{ env.REGISTRY }}/${{ github.actor }}/snowflake-proxy | |
subject-digest: ${{ steps.pushsnowflakeproxy.outputs.digest }} | |
push-to-registry: true | |
- name: Build and push snowflake-standalone | |
uses: docker/build-push-action@v6 | |
id: pushsnowflake | |
env: | |
SOURCE_DATE_EPOCH: 0 | |
with: | |
context: snowflake-standalone/ | |
platforms: linux/amd64,linux/386,linux/arm64,linux/arm/v7 | |
push: true | |
tags: | | |
${{ env.REGISTRY }}/${{ github.actor }}/snowflake-standalone:latest | |
${{ env.DOCKERHUB_USERNAME }}/snowflake-standalone:latest | |
- name: Attest | |
uses: actions/attest-build-provenance@v1 | |
id: attestsnowflake | |
with: | |
subject-name: ${{ env.REGISTRY }}/${{ github.actor }}/snowflake-standalone | |
subject-digest: ${{ steps.pushsnowflake.outputs.digest }} | |
push-to-registry: true |