Update demo_test_fixtures.yml #9
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
on: | |
push: | |
tags: | |
- '*' | |
jobs: | |
windows-release: | |
name: release x86_64-pc-windows-gnu | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
toolchain: [stable] | |
triple: | |
- { target: x86_64-pc-windows-gnu, cross: false } | |
steps: | |
- uses: ilammy/setup-nasm@v1 | |
- uses: actions/checkout@v2 | |
with: | |
repository: opsfolio/resource-surveillance | |
token: ${{ secrets.GH_PAT }} | |
ref: 'main' | |
- name: Extract Release Version | |
id: release_version | |
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV | |
- name: Install toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.toolchain }} | |
override: true | |
target: ${{ matrix.triple.target }} | |
default: true | |
- name: Get Release Upload URL | |
id: get_upload_url | |
uses: actions/github-script@v5 | |
with: | |
script: | | |
const tag = process.env.GITHUB_REF.split('/').pop(); | |
const releases = await github.rest.repos.listReleases({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
}); | |
const release = releases.data.find(release => release.tag_name === tag); | |
if (!release) { | |
throw new Error(`Release not found for tag ${tag}`); | |
} | |
return release.upload_url; | |
result-encoding: string | |
env: | |
GITHUB_REF: ${{ github.ref }} | |
- name: Build with Cargo | |
run: | | |
cargo build --release --target ${{ matrix.triple.target }} | |
.\target\${{ matrix.triple.target }}\release\surveilr.exe --help | |
Compress-Archive -Path .\target\${{ matrix.triple.target }}\release\surveilr.exe -DestinationPath resource-surveillance_${{ github.ref_name }}_${{ matrix.triple.target }}.zip | |
- name: Set Up Deno | |
run: | | |
curl -fsSL https://deno.land/x/install/install.sh | sh | |
echo "export PATH=\"$HOME/.deno/bin:$PATH\"" >> $GITHUB_ENV | |
echo "Deno installed" | |
- name: Run Deno Tests | |
run: deno test -A ./lib/assurance/ --fail-fast | |
- name: Upload surveilr.exe to releases | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.MY_CUSTOM_TOKEN }} | |
with: | |
upload_url: ${{ steps.get_upload_url.outputs.result }} | |
asset_path: .\target\${{ matrix.triple.target }}\release\surveilr.exe | |
asset_name: surveilr.exe | |
asset_content_type: application/octet-stream | |
- name: Upload To Releases | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.MY_CUSTOM_TOKEN }} | |
with: | |
upload_url: ${{ steps.get_upload_url.outputs.result }} | |
asset_path: resource-surveillance_${{ github.ref_name }}_${{ matrix.triple.target }}.zip | |
asset_name: resource-surveillance_${{ github.ref_name }}_${{ matrix.triple.target }}.zip | |
asset_content_type: application/zip | |
macos-release: | |
name: release x86_64-apple-darwin | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
toolchain: [stable] | |
triple: | |
- { target: x86_64-apple-darwin, cross: false } | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
repository: opsfolio/resource-surveillance | |
token: ${{ secrets.GH_PAT }} | |
ref: 'main' | |
- name: Add target | |
run: rustup target add x86_64-apple-darwin | |
- name: Extract Release Version | |
id: release_version | |
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV | |
- name: Install toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.toolchain }} | |
override: true | |
- name: Get Release Upload URL | |
id: get_upload_url | |
uses: actions/github-script@v5 | |
with: | |
script: | | |
const tag = process.env.GITHUB_REF.split('/').pop(); | |
const releases = await github.rest.repos.listReleases({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
}); | |
const release = releases.data.find(release => release.tag_name === tag); | |
if (!release) { | |
throw new Error(`Release not found for tag ${tag}`); | |
} | |
return release.upload_url; | |
result-encoding: string | |
env: | |
GITHUB_REF: ${{ github.ref }} | |
- name: Print Upload URL | |
run: | | |
echo ${{ steps.get_upload_url.outputs.result }} | |
- name: Build with Cargo | |
run: | | |
cargo build --release --target ${{ matrix.triple.target }} | |
./target/${{ matrix.triple.target }}/release/surveilr --help | |
zip -r resource-surveillance_${{github.ref_name}}_${{ matrix.triple.target }}.zip target/${{ matrix.triple.target }}/release/surveilr | |
- name: Set Up Deno | |
run: | | |
curl -fsSL https://deno.land/x/install/install.sh | sh | |
echo "export PATH=\"$HOME/.deno/bin:$PATH\"" >> $GITHUB_ENV | |
echo "Deno installed" | |
- name: Run Deno Tests | |
run: deno test -A ./lib/assurance/ --fail-fast | |
- name: Upload To Releases | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.MY_CUSTOM_TOKEN }} | |
with: | |
upload_url: ${{ steps.get_upload_url.outputs.result }} | |
asset_path: resource-surveillance_${{github.ref_name}}_${{ matrix.triple.target }}.zip | |
asset_name: resource-surveillance_${{github.ref_name}}_${{ matrix.triple.target }}.zip | |
asset_content_type: application/zip |