diff --git a/.github/workflows/manual_build.yml b/.github/workflows/manual_build.yml new file mode 100644 index 0000000..dabfd70 --- /dev/null +++ b/.github/workflows/manual_build.yml @@ -0,0 +1,61 @@ +name: Manual Build for Dev or Feature Branches + +on: + workflow_dispatch: + inputs: + branch: + description: 'Branch to build the Docker image from' + required: true + default: 'dev' + +jobs: + manual-build: + runs-on: ubuntu-latest + + steps: + # Checkout the specified branch + - name: Checkout repository + uses: actions/checkout@v3 + with: + ref: ${{ github.event.inputs.branch }} + - name: Extract Version + id: extract_version + run: | + version=$(python3 -c "import version; print(f'{version.__version__}')") + echo "VERSION=$version" >> $GITHUB_ENV + + # Extract branch name and latest commit SHA + - name: Extract branch name and commit SHA + id: branch_info + run: | + echo "BRANCH_NAME=${{ github.event.inputs.branch }}" >> $GITHUB_ENV + echo "COMMIT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV + + # Create a file indicating this is a dev build + - name: Create DEV_BUILD file + run: | + echo "${{ env.BRANCH_NAME }}-${{ env.COMMIT_SHA }}" > DEV_BUILD + + # Set up Docker + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + # Log in to GHCR + - name: Log in to GHCR + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + # Build and push Docker image to GHCR + - name: Build and Push Docker Image + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: | + ghcr.io/${{ github.repository }}:${{ github.sha }} + ghcr.io/${{ github.repository }}:dev + +