forked from dafny-lang/dafny
-
Notifications
You must be signed in to change notification settings - Fork 0
58 lines (49 loc) · 2.04 KB
/
deep-tests.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# This workflow includes more expensive tests than what is run on every PR, that are unlikely to break on most changes.
# It also publishes a nightly release.
#
# The if at the beginning of each job terminates the workflow immediately on any repo (like a fork) that is not the main
# dafny-lang/dafny repo. This stops such forks from running this workflow and failing (for lack of a secret) the attempt to
# publish a nightly build themselves.
name: Nightly test and release workflow
on:
schedule:
# Chosen to be hopefully outside of business hours for most contributors'
# time zones, and not on the hour to avoid heavy scheduled-job times:
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
- cron: "30 14 * * *"
workflow_dispatch:
jobs:
deep-integration-tests:
if: github.repository_owner == 'dafny-lang'
uses: ./.github/workflows/integration-tests-reusable.yml
with:
all_platforms: true
num_shards: 5
determine-vars:
if: github.repository_owner == 'dafny-lang' && github.ref == 'refs/heads/master'
runs-on: ubuntu-22.04
steps:
- name: Checkout Dafny
uses: actions/checkout@v3
with:
ref: ${{ inputs.sha }}
submodules: recursive
- name: Get short sha
run: echo "sha_short=`git rev-parse --short HEAD`" >> $GITHUB_ENV
- name: Get current date
run: echo "date=`date +'%Y-%m-%d'`" >> $GITHUB_ENV
outputs:
name: nightly-${{ env.date }}-${{ env.sha_short }}
publish-release:
uses: ./.github/workflows/publish-release-reusable.yml
needs: [deep-integration-tests, determine-vars]
with:
name: ${{ needs.determine-vars.outputs.name }}
sha: ${{ github.sha }}
tag_name: nightly
release_nuget: true
draft: false
release_notes: "This is an automatically published nightly release. This release may not be as stable as versioned releases and does not contain release notes."
prerelease: true
secrets:
nuget_api_key: ${{ secrets.NUGET_API_KEY }}