diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..b311b7a --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,38 @@ +name: Build +on: + push: {} + workflow_dispatch: {} + schedule: + - cron: '30 3 * * *' +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set Docker image tag version + id: image-name + run: | + case "$GITHUB_REF" in + refs/heads/master) + TAG=latest;; + *) + echo "Branch not recognized" >&2 + exit;; + esac + + : ${TAG:=latest} + echo "::set-output name=tag::$TAG" + echo "::set-output name=name::yangzhaofengsteven/hidden-sftp:$TAG" + - name: Build Docker image + run: | + IMAGE="${{ steps.image-name.outputs.name }}" + docker pull "$IMAGE" + docker build --cache-from "$IMAGE" -t build-image . + - name: Push to Docker Hub + if: "github.repository == 'yangzhaofeng/docker-hidden-sftp'" + run: | + IMAGE="${{ steps.image-name.outputs.name }}" + docker tag build-image "$IMAGE" + docker login -u "${{ secrets.DOCKER_USER }}" -p "${{ secrets.DOCKER_PASS }}" + docker push "$IMAGE" +