-
Notifications
You must be signed in to change notification settings - Fork 51
73 lines (72 loc) · 2.16 KB
/
ci_ec2_any.yml
File metadata and controls
73 lines (72 loc) · 2.16 KB
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Copyright (c) The mlkem-native project authors
# SPDX-License-Identifier: Apache-2.0 OR ISC OR MIT
name: ci-ec2-any
permissions:
contents: read
on:
workflow_dispatch:
inputs:
name:
description: Alternative name of instance
default: Graviton2
ec2_instance_type:
description: Type if EC2 instance to run on
default: t4g.small
ec2_ami:
description: AMI ID
type: choice
options:
- ubuntu-latest (x86_64)
- ubuntu-latest (aarch64)
- ubuntu-latest (custom AMI)
default: ubuntu-latest (aarch64)
ec2_ami_id:
description: AMI ID
default: ami-096ea6a12ea24a797
cflags:
description: Custom CFLAGS for compilation
default:
verbose:
description: Determine for the log verbosity
type: boolean
default: false
compile_mode:
description: Indicates the desired compilation mode (native or cross compilation), or `all` to perform both types, or `none` to skip compilation and functional testing.
type: choice
options:
- all
- native
- cross
- none
default: all
opt:
description: Determine whether to compile and run the opt/no_opt binary or both.
type: choice
options:
- all
- opt
- no_opt
default: all
cbmc:
description: Whether to run CBMC proofs
type: boolean
default: false
jobs:
ci-ec2-any:
name: Ad-hoc CI on ${{ inputs.ec2_instance_type }}
uses: ./.github/workflows/ci_ec2_reusable.yml
with:
name: ${{ inputs.name }}
ec2_instance_type: ${{ inputs.ec2_instance_type }}
ec2_ami: ${{ inputs.ec2_ami }}
ec2_ami_id: ${{ inputs.ec2_ami_id }}
cflags: ${{ inputs.cflags }}
compile_mode: ${{ inputs.compile_mode }}
opt: ${{ inputs.opt }}
functest: ${{ inputs.compile_mode != 'none' }}
kattest: ${{ inputs.compile_mode != 'none' }}
acvptest: ${{ inputs.compile_mode != 'none' }}
lint: true
cbmc: ${{ inputs.cbmc }}
verbose: ${{ inputs.verbose }}
secrets: inherit