Skip to content

Docker Images (Tor) #218

Docker Images (Tor)

Docker Images (Tor) #218

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/arm64/v8
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/arm64/v8
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/arm64/v8
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/arm64/v8
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/arm64/v8
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/arm64/v8
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/arm64/v8
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/arm64/v8
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