Build frp #14
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: Build frp | |
on: | |
workflow_dispatch: | |
inputs: | |
version: | |
description: 'target frp version' | |
required: false | |
default: '' | |
env: | |
VERSION: ${{ github.event.inputs.version }} | |
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Log into DockerHub | |
if: ${{ github.event_name != 'pull_request' && github.actor == env.DOCKERHUB_USERNAME }} | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Log into GitHub Packages | |
if: ${{ github.event_name != 'pull_request' }} | |
uses: docker/login-action@v1 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build frpc | |
env: | |
DOCKER_REPO: "${{ github.actor }}/frpc" | |
working-directory: frp/frpc | |
run: | | |
../hooks/build | |
export DOCKER_REPO="ghcr.io/$DOCKER_REPO" | |
../hooks/build | |
- name: Build frps | |
env: | |
DOCKER_REPO: "${{ github.actor }}/frps" | |
working-directory: frp/frps | |
run: | | |
../hooks/build | |
export DOCKER_REPO="ghcr.io/$DOCKER_REPO" | |
../hooks/build | |
- name: Extract version | |
working-directory: frp/frps | |
run: | | |
. .env.local | |
echo "VERSION=$VERSION" >> $GITHUB_ENV | |
echo "LATEST_VERSION=$LATEST_VERSION" >> $GITHUB_ENV | |
- name: Push to DockerHub | |
if: ${{ github.event_name != 'pull_request' && github.actor == env.DOCKERHUB_USERNAME }} | |
working-directory: frp | |
run: | | |
(cd frpc && export DOCKER_REPO="${{ github.actor }}/frpc" && ../hooks/push) | |
(cd frps && export DOCKER_REPO="${{ github.actor }}/frps" && ../hooks/push) | |
- name: Push to GitHub Packages | |
if: ${{ github.event_name != 'pull_request' }} | |
working-directory: frp | |
run: | | |
(cd frpc && export DOCKER_REPO="ghcr.io/${{ github.actor }}/frpc" && ../hooks/push) | |
(cd frps && export DOCKER_REPO="ghcr.io/${{ github.actor }}/frps" && ../hooks/push) | |
- name: Cleanup | |
run: | | |
if [ ! -z "$(docker images -q -f 'reference=${{ github.actor }}/frp*')" ]; then | |
docker rmi $(docker images -q -f 'reference=${{ github.actor }}/frp*') | |
fi | |
docker image prune -f |