123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- # N.B.: This won't run on releases because of
- # https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#triggering-a-workflow-from-a-workflow.
- # However, we also have a companion deploy that's part of the release.yml workflow.
- name: Companion Edge Deploy
- on:
- push:
- branches: ['main']
- paths:
- - yarn.lock
- - 'packages/@uppy/companion/**'
- - '.github/workflows/companion-deploy.yml'
- env:
- YARN_ENABLE_GLOBAL_CACHE: false
- jobs:
- npm:
- name: Generate npm tarball
- runs-on: ubuntu-latest
- steps:
- - name: Checkout sources
- uses: actions/checkout@v4
- - name: Set SHA commit in version
- run:
- (cd packages/@uppy/companion && node -e 'const
- pkg=require("./package.json");pkg.version+="+${{ github.sha
- }}";fs.writeFileSync("package.json",JSON.stringify(pkg, undefined,
- 2)+"\n")')
- - name: Create Companion tarball
- run:
- corepack yarn workspace @uppy/companion pack --install-if-needed -o
- /tmp/companion-${{ github.sha }}.tar.gz
- - name: Upload artifact
- if: success()
- uses: actions/upload-artifact@v4
- with:
- name: companion-${{ github.sha }}.tar.gz
- path: /tmp/companion-${{ github.sha }}.tar.gz
- docker:
- name: DockerHub
- runs-on: ubuntu-latest
- env:
- DOCKER_BUILDKIT: 0
- COMPOSE_DOCKER_CLI_BUILD: 0
- steps:
- - name: Checkout sources
- uses: actions/checkout@v4
- - name: Docker meta
- id: docker_meta
- uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5.5.1
- with:
- images: transloadit/companion
- tags: |
- type=edge
- type=raw,value=latest,enable=false
- - uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- - uses: docker/setup-buildx-action@v3
- - name: Log in to DockerHub
- uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
- with:
- username: ${{secrets.DOCKER_USERNAME}}
- password: ${{secrets.DOCKER_PASSWORD}}
- - name: Build and push
- uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
- with:
- push: true
- context: .
- platforms: linux/amd64,linux/arm64
- file: Dockerfile
- tags: ${{ steps.docker_meta.outputs.tags }}
- labels: ${{ steps.docker_meta.outputs.labels }}
- heroku:
- name: Heroku
- runs-on: ubuntu-latest
- steps:
- - name: Checkout sources
- uses: actions/checkout@v4
- - name: Alter dockerfile
- run: |
- sed -i 's/^EXPOSE 3020$/EXPOSE $PORT/g' Dockerfile
- - name: Deploy to heroku
- uses: akhileshns/heroku-deploy@581dd286c962b6972d427fcf8980f60755c15520 # v3.13.15
- with:
- heroku_api_key: ${{secrets.HEROKU_API_KEY}}
- heroku_app_name: companion-demo
- heroku_email: ${{secrets.HEROKU_EMAIL}}
- usedocker: true
|