Skip to content

nightly

nightly #755

Workflow file for this run

#
# Copyright (C) 2014-2024 CASM Organization <https://casm-lang.org>
# All rights reserved.
#
# Developed by: Philipp Paulweber et al.
# <https://github.com/casm-lang/libcasm-tc/graphs/contributors>
#
# This file is part of libcasm-tc.
#
# libcasm-tc is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# libcasm-tc is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with libcasm-tc. If not, see <http://www.gnu.org/licenses/>.
#
# Additional permission under GNU GPL version 3 section 7
#
# libcasm-tc is distributed under the terms of the GNU General Public License
# with the following clarification and special exception: Linking libcasm-tc
# statically or dynamically with other modules is making a combined work
# based on libcasm-tc. Thus, the terms and conditions of the GNU General
# Public License cover the whole combination. As a special exception,
# the copyright holders of libcasm-tc give you permission to link libcasm-tc
# with independent modules to produce an executable, regardless of the
# license terms of these independent modules, and to copy and distribute
# the resulting executable under terms of your choice, provided that you
# also meet, for each linked independent module, the terms and conditions
# of the license of that module. An independent module is a module which
# is not derived from or based on libcasm-tc. If you modify libcasm-tc, you
# may extend this exception to your version of the library, but you are
# not obliged to do so. If you do not wish to do so, delete this exception
# statement from your version.
#
# https://help.github.com/en/articles/virtual-environments-for-github-actions
name: nightly
on:
schedule:
- cron: '12 0 * * *'
jobs:
# https://github.com/actions/virtual-environments/blob/main/images/linux
linux-x86_64:
runs-on: ubuntu-20.04
strategy:
matrix:
tool:
- build: release
chain: gcc-10
env:
B: ${{ matrix.tool.build }}
C: ${{ matrix.tool.chain }}
G: ninja
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Setup
run: |
make info
sudo apt-get update
sudo apt-get install -y ninja-build
make ci-tools
- name: Fetching
env:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
run: |
make ci-fetch
- name: Dependencies
run: |
make ci-deps
- name: Building
run: |
make ci-build
- name: Tests
run: |
make ci-test
- name: Benchmark
run: |
make ci-benchmark
- name: Installation
run: |
make ci-install
- name: Bundling
run: |
make ci-bundle
- name: Persisting
uses: actions/upload-artifact@v1
with:
name: linux
path: obj/bundle
# https://github.com/actions/virtual-environments/blob/main/images/macos
darwin-x86_64:
runs-on: macos-10.15
strategy:
matrix:
tool:
- build: release
chain: gcc-11
env:
B: ${{ matrix.tool.build }}
C: ${{ matrix.tool.chain }}
G: ninja
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Setup
run: |
make info
brew install ninja
make ci-tools
- name: Fetching
env:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
run: |
make ci-fetch
- name: Dependencies
run: |
make ci-deps
- name: Building
run: |
make ci-build
- name: Tests
run: |
make ci-test
- name: Benchmark
run: |
make ci-benchmark
- name: Installation
run: |
make ci-install
- name: Bundling
run: |
make ci-bundle
- name: Persisting
uses: actions/upload-artifact@v1
with:
name: darwin
path: obj/bundle
# https://github.com/actions/virtual-environments/blob/main/images/win
windows-x86_64:
runs-on: windows-2019
strategy:
matrix:
tool:
- build: release
chain: clang-12
env:
B: ${{ matrix.tool.build }}
C: clang # ${{ matrix.tool.chain }}
G: ninja
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Setup
run: |
make info
echo "c:\msys64\mingw64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
choco install ninja
choco install zip
make ci-tools
- name: Fetching
env:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
run: |
make ci-fetch
- name: Dependencies
run: |
make ci-deps
- name: Building
run: |
make ci-build
- name: Tests
run: |
make ci-test
- name: Benchmark
run: |
make ci-benchmark
- name: Installation
run: |
make ci-install
- name: Bundling
run: |
make ci-bundle
- name: Persisting
uses: actions/upload-artifact@v1
with:
name: windows
path: obj/bundle