name: cd on: push: branches: - main jobs: cd: runs-on: ubuntu-latest outputs: has-artifacts: ${{ steps.has-artifacts.outputs.has-artifacts }} steps: - uses: actions/checkout@v3 with: repository: teaxyz/pantry.core - uses: teaxyz/brewkit/actions/setup-brewkit@v0 - run: .github/scripts/map-projects-to-githubs.ts env: WATCHER_URL: ${{ secrets.WATCHER_URL }} TEA_API_TOKEN: ${{ secrets.TEA_API_TOKEN }} - uses: teaxyz/brewkit/actions/has-artifacts@v0 id: has-artifacts with: repo: ${{ github.repository }} sha: ${{ github.sha }} token: ${{github.token}} s3-bucket: ${{ secrets.AWS_S3_CACHE }} aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} bottle-pr: strategy: fail-fast: false matrix: platform: - darwin+x86-64 - linux+x86-64 - darwin+aarch64 - linux+aarch64 needs: [cd] if: ${{ needs.cd.outputs.has-artifacts == 'true' }} uses: teaxyz/pantry.core/.github/workflows/bottle.yml@main with: platform: ${{ matrix.platform }} secrets: inherit cleanup: needs: [bottle-pr] runs-on: ubuntu-latest if: ${{ needs.cd.outputs.has-artifacts == 'true' }} env: PR: ${{ needs.bottle.outputs.pr }} steps: - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: us-east-1 - run: | REPO=$(echo ${{github.repository}} | sed -e 's_teaxyz/__') if test -z "$PR"; then echo "no PR to clean up" exit 0 fi aws s3 rm --recursive s3://$AWS_S3_CACHE/pull-request/$REPO/$PR env: AWS_S3_CACHE: ${{ secrets.AWS_S3_CACHE }} PR: ${{ needs.bottle.outputs.pr }} bottle-standalone: runs-on: ubuntu-latest needs: [cd] if: ${{ needs.cd.outputs.has-artifacts == 'false' }} steps: - uses: actions/checkout@v3 - uses: technote-space/get-diff-action@v6 id: get-diff with: PATTERNS: projects/**/package.yml - id: diff run: | RESULT=$(echo ${{ steps.get-diff.outputs.diff }} | sed 's#projects/\(.*\)/.*#\1#') echo "diff=$RESULT" >> $GITHUB_OUTPUT - run: gh workflow run new-version.yml -R teaxyz/pantry.core -f "projects=$PROJECTS" if: ${{ steps.diff.outputs.diff != '' }} env: GITHUB_TOKEN: ${{ secrets.TEMP_JACOBS_GITHUB_PAT }} PROJECTS: ${{ steps.diff.outputs.diff }}