88 lines
2.9 KiB
YAML
88 lines
2.9 KiB
YAML
name: Build and Deploy
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
repository_dispatch:
|
|
types:
|
|
- pack-release
|
|
|
|
jobs:
|
|
build-linux:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Determine download URL for latest pack
|
|
id: pack-download-url
|
|
uses: actions/github-script@0.4.0
|
|
with:
|
|
github-token: ${{secrets.GITHUB_TOKEN}}
|
|
result-encoding: string
|
|
script: |
|
|
return github.repos.getLatestRelease({
|
|
owner: "buildpacks",
|
|
repo: "pack"
|
|
}).then(result => {
|
|
return result.data.assets
|
|
.filter(a => a.name.includes("linux"))
|
|
.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: Build
|
|
run: PACK_CMD=./pack make build-linux build-wine
|
|
- uses: azure/docker-login@v1
|
|
if: (github.event_name == 'repository_dispatch') || (github.event_name == 'push' && github.ref == 'refs/heads/main')
|
|
with:
|
|
username: cnbs
|
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
|
- name: Deploy
|
|
if: (github.event_name == 'repository_dispatch') || (github.event_name == 'push' && github.ref == 'refs/heads/main')
|
|
run: make deploy-linux deploy-wine
|
|
- name: Clean up
|
|
run: make clean-linux clean-wine
|
|
build-windows:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Determine download URL for latest pack
|
|
id: pack-download-url
|
|
uses: actions/github-script@0.4.0
|
|
with:
|
|
github-token: ${{secrets.GITHUB_TOKEN}}
|
|
result-encoding: string
|
|
script: |
|
|
return github.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
|
|
- uses: azure/docker-login@v1
|
|
if: (github.event_name == 'repository_dispatch') || (github.event_name == 'push' && github.ref == 'refs/heads/main')
|
|
with:
|
|
username: cnbs
|
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
|
- name: Deploy
|
|
if: (github.event_name == 'repository_dispatch') || (github.event_name == 'push' && github.ref == 'refs/heads/main')
|
|
run: make deploy-windows
|
|
- name: Clean up
|
|
run: make clean-windows
|