name: Build & Push Docker Image run-name: ${{ gitea.actor }} is building and pushing a docker image on: push: branches: - master - staging - dev pull_request: branches: - master - staging - dev jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Get Current Version Number id: version run: echo "VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_ENV - name: Create Docker Tag From Branch id: tag run: | # master branch uses version as tag, otherwise use branch name if [[ "${{ gitea.ref_name }}" == "master" ]]; then TAG="${{ env.VERSION }}" else TAG="${{ gitea.ref_name }}" fi echo "TAG=$TAG" >> $GITHUB_ENV - name: Build Docker Image run: docker build -t relay:${{ env.TAG }} . - name: Login to Docker Registry run: echo ${{ secrets.DOCKER_TOKEN }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin - name: Tag & Push Docker Image run: | docker tag relay:${{ env.TAG }} xordk/relay:${{ env.TAG }} docker push xordk/relay:${{ env.TAG }} # If on master, push an additional "latest" tag if [[ "${{ gitea.ref_name }}" == "master" ]]; then docker tag relay:${{ env.TAG }} xordk/relay:latest docker push xordk/relay:latest fi