name: Build and Push Docker Image on: push: branches: - master - main pull_request: branches: - master - main jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Read package.json version id: package-version run: | VERSION=$(node -p "require('./package.json').version") echo "version=$VERSION" >> $GITHUB_OUTPUT echo "Building version: $VERSION" - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to Registry using user=${{ gitea.actor }}/pass=${{ gitea.token }} # Gitea automatically provides these secrets: # - `gitea.actor` - The username of the user who triggered the workflow # - `gitea.token` - An automatically generated token with appropriate permissions run: | echo "${{ gitea.token }}" | docker login registry.budakova.org -u "${{ gitea.actor }}" --password-stdin - name: Build and push Docker image uses: docker/build-push-action@v5 with: context: . push: true tags: | registry.budakova.org/knee-cola/gitea-actions-demo-project:${{ steps.package-version.outputs.version }} registry.budakova.org/knee-cola/gitea-actions-demo-project:latest cache-from: type=registry,ref=registry.budakova.org/knee-cola/gitea-actions-demo-project:buildcache cache-to: type=registry,ref=registry.budakova.org/knee-cola/gitea-actions-demo-project:buildcache,mode=max