name: on-release on: push: branches-ignore: - '**' tags: - release jobs: infra/docker: runs-on: linux container: alpine:latest steps: - name: Prepare run: | export PACKAGE_HOST="$(echo $GITHUB_SERVER_URL | sed s#https://##g)" echo "PACKAGE_HOST=$PACKAGE_HOST" >> $GITHUB_ENV export "PACKAGE_IMAGE=$PACKAGE_HOST/$GITHUB_REPOSITORY_OWNER/infra/docker" echo "PACKAGE_IMAGE=$PACKAGE_IMAGE" >> $GITHUB_ENV - name: Prepare environment run: | apk add git docker - name: Configure repository access run: | git config --global http.$GITHUB_SERVER_URL/.extraheader "Authorization: token ${{ secrets.ACT_RUNNER_TOKEN }}" - name: Fetch repository run: | git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git . git checkout "$GITHUB_SHA" - name: Build image run: | docker build -t "$PACKAGE_IMAGE:latest" ./docker - name: Test image run: | docker run --rm "$PACKAGE_IMAGE:latest" docker --version - name: Push image run: | echo ${{ secrets.ACT_RUNNER_TOKEN }} | docker login -u "oauth2" --password-stdin "$PACKAGE_HOST" docker push "$PACKAGE_IMAGE:latest"