| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- name: Build docker image
- on:
- release:
- types: [published]
- push:
- branches:
- - main
- jobs:
- build-image:
- runs-on: ubuntu-latest
- permissions:
- packages: write
- steps:
- - uses: actions/checkout@v4
- - name: Docker metadata
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: ghcr.io/${{ github.repository_owner }}/xray-core
- flavor: latest=auto
- tags: |
- type=sha
- type=ref,event=branch
- type=ref,event=pr
- type=semver,pattern={{version}}
- - name: Docker metadata Loyalsoldier flavor
- id: loyalsoldier
- uses: docker/metadata-action@v5
- with:
- images: ghcr.io/${{ github.repository_owner }}/xray-core
- flavor: |
- latest=auto
- suffix=-ls,onlatest=true
- tags: |
- type=sha
- type=ref,event=branch
- type=ref,event=pr
- type=semver,pattern={{version}}
- - name: Login to GitHub Container Registry
- uses: docker/login-action@v3
- with:
- registry: ghcr.io
- username: ${{ github.repository_owner }}
- password: ${{ secrets.GITHUB_TOKEN }}
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
- - name: Build and push
- uses: docker/build-push-action@v6
- with:
- context: .
- platforms: |
- linux/amd64
- linux/arm64
- linux/loong64
- linux/riscv64
- provenance: false
- file: .github/docker/Dockerfile
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- - name: Build and push Loyalsoldier flavor
- uses: docker/build-push-action@v6
- with:
- context: .
- platforms: |
- linux/amd64
- linux/arm64
- linux/loong64
- linux/riscv64
- provenance: false
- file: .github/docker/Dockerfile
- build-args: flavor=loyalsoldier
- push: true
- tags: |
- ${{ steps.loyalsoldier.outputs.tags }}
|