Build docker image for latest release #28
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 docker image for latest release | |
on: | |
workflow_dispatch: | |
inputs: | |
faucetConfig: | |
type: choice | |
required: true | |
description: Which faucet config to use? | |
options: | |
- BOBAGOERLI_FAUCET_CONFIG | |
- BOBABNBTESTNET_FAUCET_CONFIG | |
- BOBABNB_FAUCET_CONFIG | |
- BOBAETH_FAUCET_CONFIG | |
network: | |
type: choice | |
required: true | |
description: Which network to tag the build for? (99% of the time this equals the faucetConfig) | |
options: | |
- bobagoerli | |
- bobabnbtestnet | |
- bobabnb | |
- bobaeth | |
release: | |
types: [published] | |
jobs: | |
build_docker: | |
name: Build Docker Image | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKER_HUB_READ_ONLY_USER }} | |
password: ${{ secrets.DOCKER_HUB_READ_ONLY_TOKEN }} | |
- name: Get project versions | |
run: | | |
echo "server_version=$(cat package.json | jq ".version" | tr -d '"\r\n')" >> $GITHUB_OUTPUT | |
echo "client_version=$(cat faucet-client/package.json | jq ".version" | tr -d '"\r\n')" >> $GITHUB_OUTPUT | |
id: version | |
# override faucet config | |
- name: Use correct faucet config | |
shell: bash | |
run: | | |
python -c "import os; file = open('faucet-config.yaml', 'w'); file.write(os.environ['FAUCET_CONFIG']); file.close()" | |
env: | |
FAUCET_CONFIG: ${{ secrets[inputs.faucetConfig] }} | |
- name: Build version specific docker image | |
run: docker build . --file Dockerfile --tag bobanetwork/faucet:v${{ steps.version.outputs.server_version }}-${{ inputs.network }} | |
- name: Push version specific docker image | |
run: docker push bobanetwork/faucet:v${{ steps.version.outputs.server_version }}-${{ inputs.network }} | |
- name: Build v2-stable docker image | |
run: docker build . --file Dockerfile --tag bobanetwork/faucet:v2-stable-${{ inputs.network }} | |
- name: Push v2-stable docker image | |
run: docker push bobanetwork/faucet:v2-stable-${{ inputs.network }} |