Skip to content

xray

xray #878

Workflow file for this run

name: xray
on:
push:
paths:
- xray/**
schedule:
- cron: 0 0 * * *
workflow_dispatch:
jobs:
update:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.version.outputs.version }}
steps:
- uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- id: version
env:
DOCKER_CLI_EXPERIMENTAL: enabled
run: |
export VERSION=$(curl -s https://api.github.com/repos/XTLS/Xray-core/releases | grep -m1 "tag_name" | cut -d\" -f4 | sed "s/^v//")
docker manifest inspect ${{ secrets.DOCKERHUB_USERNAME }}/xray:${VERSION} > /dev/null && echo "" || echo "version=${VERSION}" >> $GITHUB_OUTPUT
publish:
needs: update
if: ${{ needs.update.outputs.version }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker/setup-qemu-action@v1
- uses: docker/setup-buildx-action@v1
- uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- uses: docker/build-push-action@v2
with:
build-args: |
VERSION=${{ needs.update.outputs.version }}
context: xray
file: xray/Dockerfile
platforms: |
linux/amd64
linux/arm64
push: true
tags: |
${{ secrets.DOCKERHUB_USERNAME }}/xray
${{ secrets.DOCKERHUB_USERNAME }}/xray:${{ needs.update.outputs.version }}