Skip to content

schedule_release

schedule_release #1119

name: schedule_release
on:
push:
branches:
- master
pull_request:
branches:
- master
schedule:
- cron: '6 */12 * * *'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-22.04, ubuntu-22.04-arm, macos-14, windows-2022 ]
steps:
- name: Checkout
uses: actions/checkout@master
- name: Build on Ubuntu
if: matrix.os == 'ubuntu-22.04' || matrix.os == 'ubuntu-22.04-arm'
run: |
bash misc/base_install_linux.sh
bash auto-build.sh release
bash package_tools/deb/make.sh
cp *.deb covscript-ubuntu-$(arch).deb
- name: Build on macOS
if: matrix.os == 'macos-14'
run: |
bash misc/base_install_macOS.sh
bash auto-build.sh release
bash package_tools/dmg/make.sh
cp *.dmg covscript-macos-arm64.dmg
- name: Download MinGW-w64
if: matrix.os == 'windows-2022'
uses: i3h/download-release-asset@v1
with:
owner: covscript-archives
repo: mingw-w64
tag: 15.1.0.4
file: gcc-15.1.0-mingw-w64ucrt-13.0.0-r4-covscript-org.zip
- name: Install Toolset in Windows
if: matrix.os == 'windows-2022'
run: |
mkdir C:\mingw64-covscript
7z x gcc-15.1.0-mingw-w64ucrt-13.0.0-r4-covscript-org.zip -oC:\mingw64-covscript
- name: Build on Windows
if: matrix.os == 'windows-2022'
run: |
.github/workflows/build_release.bat
cp *.msi covscript-windows-x86_64.msi
- name: Run tests on Ubuntu
if: matrix.os == 'ubuntu-22.04' || matrix.os == 'ubuntu-22.04-arm'
run: |
sudo dpkg -i covscript-ubuntu-$(arch).deb
cs -v
cs_dbg -v
cs build-cache/covscript/tests/benchmark.csc
- name: Package CSPKG Repo and Build files on Ubuntu
if: matrix.os == 'ubuntu-22.04' || matrix.os == 'ubuntu-22.04-arm'
run: |
7z a -mmt4 -mx9 cspkg-ubuntu-$(arch).7z cspkg-repo
7z a -mmt4 -mx9 covscript-ubuntu-$(arch).7z build
- name: Package CSPKG Repo and Build files on macOS
if: matrix.os == 'macos-14'
run: |
7z a -mmt4 -mx9 cspkg-macos-arm64.7z cspkg-repo
7z a -mmt4 -mx9 covscript-macos-arm64.7z build
- name: Package CSPKG Repo and Build files on Windows
if: matrix.os == 'windows-2022'
run: |
7z a -mmt4 -mx9 cspkg-windows-x86_64.7z cspkg-repo
7z a -mmt4 -mx9 covscript-windows-x86_64.7z build
- name: Automatic Release MSI
if: matrix.os == 'windows-2022' && success()
uses: marvinpinto/action-automatic-releases@latest
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "windows-schedule-release"
title: "Windows Schedule Release Build"
prerelease: false
files: |
*.msi
*.7z
- name: Automatic Release DEB
if: matrix.os == 'ubuntu-22.04' && success()
uses: marvinpinto/action-automatic-releases@latest
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "ubuntu-schedule-release"
title: "Ubuntu Schedule Release Build"
prerelease: false
files: |
*.deb
*.7z
- name: Automatic Release DEB
if: matrix.os == 'ubuntu-22.04-arm' && success()
uses: marvinpinto/action-automatic-releases@latest
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "ubuntu-arm-schedule-release"
title: "Ubuntu for ARM Schedule Release Build"
prerelease: false
files: |
*.deb
*.7z
- name: Automatic Release DMG
if: matrix.os == 'macos-14' && success()
uses: marvinpinto/action-automatic-releases@latest
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "macos-schedule-release"
title: "macOS Schedule Release Build"
prerelease: false
files: |
*.dmg
*.7z