Deploy Nightly #1417
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: Deploy Nightly | |
on: | |
schedule: | |
- cron: '0 2 * * *' | |
workflow_dispatch: | |
jobs: | |
nightly: | |
name: Deploy nightly | |
strategy: | |
fail-fast: false | |
matrix: | |
# ubuntu / linux must run on kinda old linux for glibc compatibility! | |
os: [ubuntu-20.04, windows-latest, macos-latest] | |
arch: [x86_64] | |
include: | |
# use for 32 bit build | |
- os: windows-latest | |
arch: x86 | |
- os: macos-latest | |
arch: arm64-apple-macos | |
arch_short: arm64 | |
build: release | |
cross: "1" | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
- id: vars | |
shell: bash | |
run: | | |
if [ -z "${{matrix.arch_short}}" ]; then | |
echo "arch_short=${{matrix.arch}}" >> $GITHUB_OUTPUT | |
else | |
echo "arch_short=${{matrix.arch_short}}" >> $GITHUB_OUTPUT | |
fi | |
if [ -z "${{matrix.build}}" ]; then | |
echo "build=release-debug" >> $GITHUB_OUTPUT | |
else | |
echo "build=${{matrix.build}}" >> $GITHUB_OUTPUT | |
fi | |
- name: Install D compiler | |
uses: dlang-community/setup-dlang@v1 | |
with: | |
compiler: ldc-latest | |
- name: Run tests | |
run: dub test | |
# Linux release | |
- name: Build Linux release | |
run: ./ci/build.sh | |
if: matrix.os == 'ubuntu-20.04' | |
env: | |
ARCH: ${{ matrix.arch }} | |
ARCH_SHORT: ${{ steps.vars.outputs.arch_short }} | |
BUILD: ${{ steps.vars.outputs.build }} | |
- name: Deploy Linux release | |
if: matrix.os == 'ubuntu-20.04' | |
uses: WebFreak001/deploy-nightly@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: https://uploads.github.com/repos/Pure-D/serve-d/releases/20717582/assets{?name,label} | |
release_id: 20717582 | |
asset_path: ./serve-d.tar.xz | |
asset_name: serve-d_linux-nightly-${{ steps.vars.outputs.arch_short }}-$$.tar.xz | |
asset_content_type: application/x-gtar | |
# OSX release | |
- name: Build OSX release | |
run: ./ci/build.sh | |
if: matrix.os == 'macos-latest' | |
env: | |
MACOSX_DEPLOYMENT_TARGET: '10.12' | |
ARCH: ${{ matrix.arch }} | |
ARCH_SHORT: ${{ steps.vars.outputs.arch_short }} | |
BUILD: ${{ steps.vars.outputs.build }} | |
CROSS: ${{ matrix.cross }} | |
- name: Deploy OSX release | |
if: matrix.os == 'macos-latest' | |
uses: WebFreak001/deploy-nightly@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: https://uploads.github.com/repos/Pure-D/serve-d/releases/20717582/assets{?name,label} | |
release_id: 20717582 | |
asset_path: ./serve-d.tar.xz | |
asset_name: serve-d_osx-nightly-${{ steps.vars.outputs.arch_short }}-$$.tar.xz | |
asset_content_type: application/x-gtar | |
# Windows release | |
- name: Build Windows release | |
run: .\ci\build.bat | |
if: matrix.os == 'windows-latest' | |
env: | |
BUILD: ${{ steps.vars.outputs.build }} | |
ARCH: ${{ matrix.arch }} | |
ARCH_SHORT: ${{ steps.vars.outputs.arch_short }} | |
CROSS: ${{ matrix.cross }} | |
- name: Deploy Windows release | |
if: matrix.os == 'windows-latest' | |
uses: WebFreak001/deploy-nightly@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: https://uploads.github.com/repos/Pure-D/serve-d/releases/20717582/assets{?name,label} | |
release_id: 20717582 | |
asset_path: ./serve-d.zip | |
asset_name: serve-d_windows-nightly-${{ steps.vars.outputs.arch_short }}-$$.zip | |
asset_content_type: application/zip | |
- name: cache dependency binaries | |
uses: WebFreak001/[email protected] | |
with: | |
store: true |