Issue #105 #522
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: Build and Deploy | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
repository_dispatch: | |
types: | |
- pack-release | |
jobs: | |
build-deploy-linux: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Determine download URL for latest pack | |
id: pack-download-url | |
uses: actions/github-script@v6 | |
with: | |
github-token: ${{secrets.GITHUB_TOKEN}} | |
result-encoding: string | |
# FIXME: Revert back to 'getLatestRelease' when pack v0.31.0 is released | |
script: | | |
return github.rest.repos.getReleaseByTag({ | |
owner: "buildpacks", | |
repo: "pack", | |
tag: "v0.31.0-rc1" | |
}).then(result => { | |
return result.data.assets | |
.filter(a => a.name.includes("-linux.tgz")) | |
.map(a => a.browser_download_url)[0]; | |
}) | |
- name: Install pack | |
run: | | |
curl -s -L -o pack.tgz ${{ steps.pack-download-url.outputs.result }} | |
tar -xvf pack.tgz | |
- name: Set config needed for image extensions | |
run: | | |
./pack config experimental true | |
./pack config pull-policy always | |
- name: Build | |
run: PACK_CMD=./pack make build-linux | |
- uses: azure/docker-login@v1 | |
if: ${{ github.ref == 'refs/heads/main' }} | |
with: | |
username: cnbs | |
password: ${{ secrets.REGISTRY_PASSWORD }} | |
- name: Deploy | |
if: ${{ github.ref == 'refs/heads/main' }} | |
run: make deploy-linux | |
- name: Clean up | |
run: make clean-linux | |
build-deploy-windows: | |
strategy: | |
matrix: | |
include: | |
- os: windows-2022 | |
version: 2022 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Determine download URL for latest pack | |
id: pack-download-url | |
uses: actions/github-script@v6 | |
with: | |
github-token: ${{secrets.GITHUB_TOKEN}} | |
result-encoding: string | |
# FIXME: Revert back to 'getLatestRelease' when pack v0.31.0 is released | |
script: | | |
return github.rest.repos.getReleaseByTag({ | |
owner: "buildpacks", | |
repo: "pack", | |
tag: "v0.31.0-rc1" | |
}).then(result => { | |
return result.data.assets | |
.filter(a => a.name.includes("windows")) | |
.map(a => a.browser_download_url)[0]; | |
}) | |
- name: Install pack | |
run: | | |
curl -s -L -o pack.zip ${{ steps.pack-download-url.outputs.result }} | |
tar -xvf pack.zip | |
mkdir ~\.pack | |
- name: Set Experimental | |
run: make set-experimental | |
- name: Build | |
run: make build-windows-${{ matrix.version }} | |
- uses: azure/docker-login@v1 | |
if: ${{ github.ref == 'refs/heads/main' }} | |
with: | |
username: cnbs | |
password: ${{ secrets.REGISTRY_PASSWORD }} | |
- name: Deploy | |
if: ${{ github.ref == 'refs/heads/main' }} | |
run: make deploy-windows-${{ matrix.version }} | |
build-deploy-windows-packages: | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Determine download URL for latest pack | |
id: pack-download-url | |
uses: actions/github-script@v6 | |
with: | |
github-token: ${{secrets.GITHUB_TOKEN}} | |
result-encoding: string | |
script: | | |
return github.rest.repos.getLatestRelease({ | |
owner: "buildpacks", | |
repo: "pack" | |
}).then(result => { | |
return result.data.assets | |
.filter(a => a.name.includes("windows")) | |
.map(a => a.browser_download_url)[0]; | |
}) | |
- name: Install pack | |
run: | | |
curl -s -L -o pack.zip ${{ steps.pack-download-url.outputs.result }} | |
tar -xvf pack.zip | |
mkdir ~\.pack | |
- name: Set Experimental | |
run: make set-experimental | |
- name: Build | |
run: make build-windows-packages | |
- uses: azure/docker-login@v1 | |
if: ${{ github.ref == 'refs/heads/main' }} | |
with: | |
username: cnbs | |
password: ${{ secrets.REGISTRY_PASSWORD }} | |
- name: Deploy | |
if: ${{ github.ref == 'refs/heads/main' }} | |
run: make deploy-windows-packages |