Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: Add fresh_run daily workflow #1402

Merged
merged 62 commits into from
Sep 1, 2023
Merged
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
0f1ef66
Add default-members key to wrokspace
fmoletta Aug 23, 2023
713b114
Remove irrelevant targets
fmoletta Aug 23, 2023
746891e
Remove irrelevant targets
fmoletta Aug 23, 2023
9ba9551
Add target to run the wasm demo
fmoletta Aug 23, 2023
aae87ca
Run wasm demo in ci
fmoletta Aug 23, 2023
8044055
Install deps
fmoletta Aug 23, 2023
ec64c0e
Fix workflow
fmoletta Aug 23, 2023
34d7e5b
Fix workflow
fmoletta Aug 23, 2023
9ad9876
Build, dont run
fmoletta Aug 23, 2023
4eb2594
update readmes
fmoletta Aug 23, 2023
f99807f
Fix syntax
fmoletta Aug 23, 2023
584acf1
Add changelog entry
fmoletta Aug 23, 2023
5569afb
Remove wasm-demo target
fmoletta Aug 24, 2023
8c9991a
Update README.md
fmoletta Aug 24, 2023
9de37e0
Update README.md
fmoletta Aug 24, 2023
6d3f816
Update CHANGELOG.md
fmoletta Aug 24, 2023
bfe1c2d
Merge branch 'main' into fix-build
fmoletta Aug 24, 2023
ce3a4fd
Add fresh run workflow
fmoletta Aug 24, 2023
8fd9b6c
Fix typo
fmoletta Aug 24, 2023
36eee21
Add checkout
fmoletta Aug 24, 2023
000e7a8
Install pyenv
fmoletta Aug 24, 2023
951cd4f
Report on failure
fmoletta Aug 24, 2023
dc2f1ea
Fix
fmoletta Aug 24, 2023
b158475
Fix pyenv installation
fmoletta Aug 24, 2023
c7e09df
Show which target faile don report
fmoletta Aug 24, 2023
7809267
Add eof
fmoletta Aug 24, 2023
0cb40fa
Improve report
fmoletta Aug 24, 2023
e473fbe
Fix file path
fmoletta Aug 24, 2023
5b3f947
Disable fail-fast
fmoletta Aug 24, 2023
848a9a6
Use action to install pyenv
fmoletta Aug 24, 2023
bb19773
Fix template title
fmoletta Aug 24, 2023
7c425c5
Update CHANGELOG.md
fmoletta Aug 24, 2023
c4e3637
Merge branch 'fix-build' into fresh-run-ci
fmoletta Aug 24, 2023
0cd9093
Activate env before running test
fmoletta Aug 24, 2023
bb12ec8
Make it run daily
fmoletta Aug 24, 2023
2b80933
Remove call to deleted target
fmoletta Aug 25, 2023
b845da0
Merge branch 'fix-build' into fresh-run-ci
fmoletta Aug 25, 2023
311b107
Revert "Make it run daily"
fmoletta Aug 25, 2023
6762e6c
Exclude wasm-demo
fmoletta Aug 25, 2023
ce56621
Revert "Exclude wasm-demo"
fmoletta Aug 25, 2023
e0f6f4f
Use test file from cairo_programs
fmoletta Aug 25, 2023
be5d7d9
Merge branch 'fix-build' into fresh-run-ci
fmoletta Aug 25, 2023
b8f256e
Fix compilation in readme + workflow
fmoletta Aug 25, 2023
2c205fc
Update changelog
fmoletta Aug 25, 2023
5958497
Merge branch 'fix-build' into fresh-run-ci
fmoletta Aug 25, 2023
93ce3f4
Update Makefile
fmoletta Aug 25, 2023
00265f5
Merge branch 'fix-build' of github.com:lambdaclass/cairo-vm into fres…
fmoletta Aug 25, 2023
d55a309
Install rust
fmoletta Aug 25, 2023
b691626
Use self-hosted macos runner
fmoletta Aug 29, 2023
d26b96d
Merge branch 'main' into fresh-run-ci
fmoletta Aug 29, 2023
df076c6
Add os name for prettier display
fmoletta Aug 29, 2023
1b974c1
Merge branch 'fresh-run-ci' of github.com:lambdaclass/cairo-vm into f…
fmoletta Aug 29, 2023
dee1a87
Install rosetta in macos
fmoletta Aug 29, 2023
f92b35c
Add --agree-to-license
fmoletta Aug 29, 2023
d079cd7
Use os name in workflow name
fmoletta Aug 30, 2023
80293c6
Merge branch 'main' into fresh-run-ci
fmoletta Aug 30, 2023
94570a8
Free up space for ubuntu runner
fmoletta Aug 30, 2023
6528b3f
Install stuff after freeing up space
fmoletta Aug 30, 2023
485fa99
Merge branch 'main' into fresh-run-ci
fmoletta Aug 30, 2023
1520181
Revert "Revert "Make it run daily""
fmoletta Aug 30, 2023
b498fb1
Merge branch 'fresh-run-ci' of github.com:lambdaclass/cairo-vm into f…
fmoletta Aug 30, 2023
8d6fe97
Merge branch 'main' into fresh-run-ci
fmoletta Aug 31, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/fresh_run_failure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: WARNING fresh_run workflow failure
labels: bug
---
Running `make {{env.FAILED_TARGET}}` failed for {{ env.OS }} system on commit {{ env.COMMIT_SHA}}
81 changes: 81 additions & 0 deletions .github/workflows/fresh_run.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Install dependencies, build the project and run tests from zero

on:
schedule:
# At the end of every day
- cron: "0 0 * * *"

jobs:
fresh_run:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
deps_suffix: ''
os_name: ubuntu-22.04
- os: [self-hosted, macOS]
deps_suffix: '-macos'
os_name: macos
runs-on: ${{ matrix.os_name }}
name: "Make deps, build & test on fresh ${{ matrix.os_name }} system"
steps:
# Runner runs out of disk space when running this job
# This solution was propossed on an issue in the github actions repo
# https://github.com/actions/runner-images/issues/2840#issuecomment-790492173
- name: Free up space on ubuntu runner
if: matrix.os_name == 'ubuntu-22.04'
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"

- name: Checkout
uses: actions/checkout@v3

- name: Install Rust
uses: dtolnay/[email protected]

- name: Install Pyenv
uses: "gabrielfalcao/pyenv-action@v13"

- name: Install Rosetta
if: matrix.os_name == 'macos'
run: softwareupdate --install-rosetta --agree-to-license

- name: Run make deps${{ matrix.deps_suffix }}
id: deps
run: make deps${{ matrix.deps_suffix }}

- name: Run make build
id: build
run: make build

- name: Run make test
id: test
run: |
. cairo-vm-env/bin/activate; \
make test

- name: Check which step failed
if: failure()
run: |
if [ ${{ steps.deps.outcome }} = failure ]; then
FAILED_TARGET=deps${{ matrix.deps_suffix }}
elif [ ${{ steps.build.outcome }} = failure ]; then
FAILED_TARGET=build
else
FAILED_TARGET=test
fi
echo "FAILED_TARGET=$FAILED_TARGET" >> $GITHUB_ENV

- name: Create Issue
if: ${{ failure() }}
uses: JasonEtco/create-an-issue@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OS: ${{ matrix.os_name}}
COMMIT_SHA: ${{ github.sha }}
with:
filename: .github/ISSUE_TEMPLATE/fresh_run_failure.md