github action for release #130
Workflow file for this run
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: Merge PR to main | |
permissions: | |
contents: read | |
# on: | |
# pull_request: | |
# types: | |
# - closed | |
# branches: | |
# - main | |
on: | |
pull_request: | |
types: | |
- opened | |
- synchronize # Optional: to trigger on PR updates too | |
branches: | |
- development | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
concurrency: release | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup Python version | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Install python-semantic-release | |
run: pip install python-semantic-release | |
- name: Determine Modified Packages | |
id: detect_changes | |
run: | | |
# Print the base and head SHAs | |
echo "Base SHA: ${{ github.event.pull_request.base.sha }}" | |
echo "Head SHA: ${{ github.event.pull_request.head.sha }}" | |
# Find modified packages | |
modified_packages=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} | \ | |
grep -E '^feluda/|^operators/' | \ | |
cut -d/ -f1,2 | uniq) | |
# Print modified packages | |
echo "Modified packages: $modified_packages" | |
# Set output for modified packages | |
echo "::set-output name=packages::$modified_packages" | |
# jobs: | |
# release: | |
# if: github.event.pull_request.merged == true | |
# runs-on: ubuntu-latest | |
# concurrency: release | |
# permissions: | |
# contents: write | |
# # Map a step output to a job output | |
# outputs: | |
# released: ${{ steps.release.outputs.released }} | |
# tag: ${{ steps.release.outputs.tag }} | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
# with: | |
# fetch-depth: 0 | |
# - name: Setup Python version | |
# uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 | |
# with: | |
# python-version: '3.11' | |
# - name: Python Semantic Release | |
# id: release | |
# uses: python-semantic-release/python-semantic-release@c82bd673c30da94a02e039963c8c4c8a51758096 # v9.1.1 | |
# with: | |
# github_token: ${{ secrets.GITHUB_TOKEN }} | |
# docker: | |
# needs: release | |
# if: needs.release.outputs.released == 'true' | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Set up QEMU | |
# uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0 | |
# - name: Set up Docker Buildx | |
# uses: docker/setup-buildx-action@2b51285047da1547ffb1b2203d8be4c0af6b1f20 # v3.2.0 | |
# - name: Login to Docker Hub | |
# uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v.3.1.0 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# - name: Publish vidvec amd64 worker to dockerhub | |
# uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 | |
# with: | |
# context: "{{defaultContext}}:src/" | |
# file: worker/vidvec/Dockerfile.video_worker | |
# platforms: linux/amd64 | |
# build-args: | | |
# "UID=1000" | |
# "GID=1000" | |
# push: true | |
# tags: tattletech/feluda-operator-vidvec:worker-amd64-${{ needs.release.outputs.tag }} | |
# - name: Publish vidvec arm64 worker to dockerhub | |
# uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 | |
# with: | |
# context: "{{defaultContext}}:src/" | |
# file: worker/vidvec/Dockerfile.video_worker_graviton | |
# platforms: linux/arm64 | |
# build-args: | | |
# "UID=1000" | |
# "GID=1000" | |
# push: true | |
# tags: tattletech/feluda-operator-vidvec:worker-arm64-${{ needs.release.outputs.tag }} | |
# - name: Publish audiovec amd64 worker to dockerhub | |
# uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 | |
# with: | |
# context: "{{defaultContext}}:src/" | |
# file: worker/audiovec/Dockerfile.audio_worker | |
# platforms: linux/amd64 | |
# build-args: | | |
# "UID=1000" | |
# "GID=1000" | |
# push: true | |
# tags: tattletech/feluda-operator-audiovec:worker-amd64-${{ needs.release.outputs.tag }} | |
# - name: Publish audiovec arm64 worker to dockerhub | |
# uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 | |
# with: | |
# context: "{{defaultContext}}:src/" | |
# file: worker/audiovec/Dockerfile.audio_worker_graviton | |
# platforms: linux/arm64 | |
# build-args: | | |
# "UID=1000" | |
# "GID=1000" | |
# push: true | |
# tags: tattletech/feluda-operator-audiovec:worker-arm64-${{ needs.release.outputs.tag }} | |
# - name: Publish media hash amd64 worker to dockerhub | |
# uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 | |
# with: | |
# context: "{{defaultContext}}:src/" | |
# file: worker/hash/Dockerfile.hash_worker | |
# platforms: linux/amd64 | |
# build-args: | | |
# "UID=1000" | |
# "GID=1000" | |
# push: true | |
# tags: tattletech/feluda-operator-hash:worker-amd64-${{ needs.release.outputs.tag }} | |
# - name: Publish media hash arm64 worker to dockerhub | |
# uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 | |
# with: | |
# context: "{{defaultContext}}:src/" | |
# file: worker/hash/Dockerfile.hash_worker_graviton | |
# platforms: linux/arm64 | |
# build-args: | | |
# "UID=1000" | |
# "GID=1000" | |
# push: true | |
# tags: tattletech/feluda-operator-hash:worker-arm64-${{ needs.release.outputs.tag }} | |
# - name: Publish media worker amd64 worker to dockerhub | |
# uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 | |
# with: | |
# context: "{{defaultContext}}:src/" | |
# file: worker/media/Dockerfile.media_worker | |
# platforms: linux/amd64 | |
# build-args: | | |
# "UID=1000" | |
# "GID=1000" | |
# push: true | |
# tags: tattletech/feluda-operator-media:worker-amd64-${{ needs.release.outputs.tag }} | |
# - name: Publish media worker arm64 worker to dockerhub | |
# uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 | |
# with: | |
# context: "{{defaultContext}}:src/" | |
# file: worker/media/Dockerfile.media_worker_graviton | |
# platforms: linux/arm64 | |
# build-args: | | |
# "UID=1000" | |
# "GID=1000" | |
# push: true | |
# tags: tattletech/feluda-operator-media:worker-arm64-${{ needs.release.outputs.tag }} | |
# - name: deploy to cluster | |
# uses: steebchen/[email protected] | |
# with: # defaults to latest kubectl binary version | |
# config: ${{ secrets.PROD_KUBE_CONFIG_DATA }} | |
# command: set image --record deployment/feluda-server feluda-server=tattletech/feluda-server:${{ steps.vars.outputs.sha_short }} | |
# - name: verify deployment | |
# uses: steebchen/[email protected] | |
# with: | |
# config: ${{ secrets.PROD_KUBE_CONFIG_DATA }} | |
# version: v1.21.0 # specify kubectl binary version explicitly | |
# command: rollout status deployment/feluda-server |