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/CD #437

Merged
merged 255 commits into from
Nov 6, 2024
Merged

CI/CD #437

Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
255 commits
Select commit Hold shift + click to select a range
8948df4
removing token
haelai77 Aug 1, 2024
3014dab
adding git for testing checking out benchmark repo
haelai77 Aug 1, 2024
9f30c91
added upgrade before installing deps
haelai77 Aug 1, 2024
7d91421
adding back token
haelai77 Aug 1, 2024
c4f47a4
testing setting secret as env varibale
haelai77 Aug 1, 2024
5739597
testing with admin rights
haelai77 Aug 2, 2024
ababc8d
testing with admin rights + directly using secret
haelai77 Aug 2, 2024
68b2111
fake push to test secret
haelai77 Aug 2, 2024
c5fe985
fake push to test secret number 2
haelai77 Aug 2, 2024
e65bb3e
fake push to test secret number 3
haelai77 Aug 2, 2024
3558792
testing build and checking out benchmark
haelai77 Aug 2, 2024
038b514
removed redundant steps for testing secrets
haelai77 Aug 2, 2024
b95a648
fixed checkout path
haelai77 Aug 2, 2024
a9c50ab
fixed passing secret into action by setting it as env var
haelai77 Aug 2, 2024
16e24d6
switched to side by side checkouts
haelai77 Aug 2, 2024
25cdc4a
switching path to actions
haelai77 Aug 2, 2024
e48e4fe
reverted path back to relative for action
haelai77 Aug 2, 2024
606cea7
swaping path to benchmark directory
haelai77 Aug 2, 2024
77b77c6
attempting to run benchmarks
haelai77 Aug 2, 2024
d8a77d0
added pyparsing module for python benchmark script
haelai77 Aug 2, 2024
5d0f32f
added pip
haelai77 Aug 2, 2024
41dea6e
enabling benchmark step for rest of os and compiler suit
haelai77 Aug 6, 2024
f1c300a
fixed pip package name in script
haelai77 Aug 6, 2024
964796e
changed pip to pip3
haelai77 Aug 6, 2024
4be57a2
fixed some capitalisations and added regression performance checks to…
haelai77 Aug 7, 2024
fd70864
fixed typos
haelai77 Aug 7, 2024
7ce1245
added shell property as bash
haelai77 Aug 7, 2024
ff75dfc
moved equalities inside brackets
haelai77 Aug 7, 2024
4841048
testing benchmark regression
haelai77 Aug 7, 2024
0f3b97e
changing cache step id
haelai77 Aug 7, 2024
c983bb8
adding extra == true statements to see if it changes things
haelai77 Aug 7, 2024
a88a2d7
fixed paths for benchmark
haelai77 Aug 7, 2024
1d12ab5
fixed previous__time variable
haelai77 Aug 7, 2024
adf0bab
testing difference
haelai77 Aug 7, 2024
0f56689
adding summary step
haelai77 Aug 8, 2024
2788862
added deletion of caches step
haelai77 Aug 8, 2024
0fc3e8b
added update before gh install line
haelai77 Aug 8, 2024
7f84dee
added keyring for gh
haelai77 Aug 8, 2024
60501fb
added extension gh-actions-cache
haelai77 Aug 8, 2024
2d3f7a3
removed confirm flag
haelai77 Aug 8, 2024
5a7c39f
fixed typo
haelai77 Aug 8, 2024
717d7b7
trouble shooting gh error
haelai77 Aug 8, 2024
3c73032
trouble shooting gh error
haelai77 Aug 8, 2024
0b2922c
swapping pat for gh token
haelai77 Aug 8, 2024
56b548e
removed container
haelai77 Aug 8, 2024
5922651
added sudo
haelai77 Aug 8, 2024
8ba4dbe
skipping installing deps
haelai77 Aug 8, 2024
2364a65
added python and sudo
haelai77 Aug 8, 2024
540a08a
swapped out missing vars
haelai77 Aug 8, 2024
567f036
added sudo when building simeng
haelai77 Aug 8, 2024
2a264fa
added back in extra true equality check
haelai77 Aug 8, 2024
deb3450
added sudo to running individual benchmarks
haelai77 Aug 8, 2024
54f5083
testing out not updating packages
haelai77 Aug 8, 2024
6698980
reordered saving after deletion
haelai77 Aug 8, 2024
3c1f50e
removed useless env var
haelai77 Aug 8, 2024
cfff2aa
created action for performance regression workflow to reduce duplicat…
haelai77 Aug 10, 2024
55a7a6f
fixed action path
haelai77 Aug 10, 2024
7465caf
fixed typo
haelai77 Aug 10, 2024
180b451
fixed typo
haelai77 Aug 10, 2024
ca08b81
added renamed file
haelai77 Aug 10, 2024
dc6f1f1
removed contex variables from cache step ids
haelai77 Aug 10, 2024
ef8e628
fixed minibude caching
haelai77 Aug 10, 2024
398aaad
fixed stream output variable typo and removed 'ms' after 'no previous…
haelai77 Aug 10, 2024
be8328f
fixed small bug
haelai77 Aug 10, 2024
1067d5b
checking architectures
haelai77 Aug 12, 2024
adfa4bc
renamed workflow files + added armclang test
haelai77 Aug 13, 2024
b4336a4
removed redundant lines
haelai77 Aug 13, 2024
b0c4528
disabled other workflows + enabled armclang test
haelai77 Aug 13, 2024
1b6c5a7
fixed typo
haelai77 Aug 13, 2024
8c23f8c
renamed file
haelai77 Aug 13, 2024
5ac2ad3
removed error lines
haelai77 Aug 13, 2024
ed4b69e
swapped to only installing arm clang
haelai77 Aug 13, 2024
0a4ad36
fixed typo
haelai77 Aug 13, 2024
3028dc4
added container instruction
haelai77 Aug 13, 2024
acee097
testing apple clang installation and location
haelai77 Aug 17, 2024
3f32a23
fixed action name in scripts as renamed select_env to select_setup
haelai77 Aug 17, 2024
57b58c5
macos+clang wrapped arguments for select_setup action in single quotes
haelai77 Aug 17, 2024
44dc7c9
fixed accidental space infront of if statement
haelai77 Aug 17, 2024
78267cd
removed brew install pip as this already exists and causes some symli…
haelai77 Aug 17, 2024
05c938d
removed brew update and upgrade step
haelai77 Aug 17, 2024
33da464
removed brew install xcode-select step
haelai77 Aug 17, 2024
15de585
setting env vars that point to clang and clang++
haelai77 Aug 17, 2024
54205d8
added pat secret to env vars for benchmark checkout action for macos …
haelai77 Aug 17, 2024
1144481
trying out reuseable workflows to bundle building and testing together
haelai77 Aug 17, 2024
6ffc682
trying out adding self tag
haelai77 Aug 17, 2024
b733b10
swapped to non local path to reuseable workflow
haelai77 Aug 17, 2024
30cb801
removed tag
haelai77 Aug 17, 2024
2b1ba3e
made tag branch name
haelai77 Aug 17, 2024
66d5ce3
testing out generic variablie for current branch
haelai77 Aug 17, 2024
ac45ab3
testing out generic variable for current branch
haelai77 Aug 17, 2024
9659824
testing out generic variable for current branch
haelai77 Aug 17, 2024
031d9e7
testing relative reuseable action
haelai77 Aug 17, 2024
4036b52
added reusable workflows
haelai77 Aug 21, 2024
ec0c958
added reusable workflows
haelai77 Aug 21, 2024
105883a
removed comments
haelai77 Aug 21, 2024
37357ce
made each action handle their own dependencies and also added paramet…
haelai77 Aug 21, 2024
99a64e2
added flag check for running benchmarks depending on mode
haelai77 Aug 21, 2024
2ef336a
fixed cmake apt repository version for ubuntu
haelai77 Aug 21, 2024
acca940
fixed wrong deps for rocky
haelai77 Aug 21, 2024
c6b65f0
disabled rerun on failed jobs
haelai77 Aug 21, 2024
438710a
fixed space in bash script
haelai77 Aug 21, 2024
fa409f1
swapping back to macos 13 for gcc-10
haelai77 Aug 21, 2024
a3bd87c
added curly braces around NAME varible
haelai77 Aug 21, 2024
79bd26a
added update/upgrade to macos
haelai77 Aug 21, 2024
9a34168
swapped to double quotes for kitware repo path
haelai77 Aug 21, 2024
76fa07e
added export path for python and reload bash terminla
haelai77 Aug 21, 2024
6cb55d4
adding average script and averaging workflow to get average runtime o…
haelai77 Aug 28, 2024
5e0f39d
fixed missing env vars
haelai77 Aug 28, 2024
c4e81f2
added bench script and fixed typo
haelai77 Aug 28, 2024
0a60ea4
fixed a64fx path in avg script
haelai77 Aug 28, 2024
578f7c5
trying out threshold
haelai77 Aug 29, 2024
bc06543
trying out threshold
haelai77 Aug 29, 2024
3aae596
testing performance regression
haelai77 Aug 29, 2024
dccd301
fixed if statement
haelai77 Aug 29, 2024
df38cf1
fixed typo
haelai77 Aug 29, 2024
f189127
testing if other benchmarks in workflows work
haelai77 Aug 29, 2024
90e2cca
checking if averaging works now
haelai77 Aug 29, 2024
fcb6d8b
fixed args requried for script
haelai77 Aug 29, 2024
e9eb554
fixed path?
haelai77 Aug 29, 2024
0288066
added github.workspace as input to script
haelai77 Aug 29, 2024
e143469
removed separate script and merged with AVERAGE.yml workflow
haelai77 Aug 29, 2024
d27aeae
removed slash
haelai77 Aug 29, 2024
285aafe
printing info at the start
haelai77 Aug 29, 2024
122d4b1
added workspace variable directlry to script path
haelai77 Aug 29, 2024
bbc559c
added workspace echo
haelai77 Aug 29, 2024
af73479
fixed typo with miniBUDE benchmark
haelai77 Aug 29, 2024
a62c93e
swapped to 100 runs
haelai77 Aug 29, 2024
9175286
trying to fix macos + gcc
haelai77 Sep 1, 2024
000229e
Making average use average single benchmark
haelai77 Sep 1, 2024
4b2ef2a
fixed 'runs' input to peformance regression
haelai77 Sep 1, 2024
7a31d8b
forgot to add action
haelai77 Sep 1, 2024
595f854
fixed mistakes in arithmetic
haelai77 Sep 1, 2024
2be9213
removed datafile_path.datafile from averaging action, merged macos co…
haelai77 Sep 1, 2024
e4c7230
fixed input typo
haelai77 Sep 1, 2024
4cb1a8a
lots of small fixes e.g. spaces when assigning bash vars
haelai77 Sep 1, 2024
4c27c92
removed random speech mark
haelai77 Sep 1, 2024
4c3234c
fixed invalid variable name
haelai77 Sep 2, 2024
0c39226
trying to fix env error
haelai77 Sep 2, 2024
ecc2eba
added scale=2 to bc line
haelai77 Sep 2, 2024
ac3365b
fixed capitalisation
haelai77 Sep 2, 2024
e7bba92
fixed up echos and cleaned things up
haelai77 Sep 2, 2024
83d1274
minor bug fixes for macos (clang and gcc) and minor bug fixes for tea…
haelai77 Sep 2, 2024
7a93a74
clean up
haelai77 Sep 3, 2024
af000e5
final test
haelai77 Sep 3, 2024
95b85cb
added armclang actions to setup action for selection
haelai77 Sep 3, 2024
d48f01a
final test
haelai77 Sep 3, 2024
b4496c3
final final test
haelai77 Sep 3, 2024
8aff6e6
Merge remote-tracking branch 'origin/dev' into github_actions
haelai77 Sep 3, 2024
5b4c089
removed some commented out stuff and swapped to trigger main.yml only…
haelai77 Sep 10, 2024
122252f
removed push trigger from main.yml
haelai77 Sep 10, 2024
bd3cd61
removed some uneccessary arguments and added descriptions to arguments
haelai77 Sep 11, 2024
2a64dbb
Trimming down actions to remove performance regression
ABenC377 Oct 16, 2024
7cf58ba
Added cstdint header to Register.hh (#427)
FinnWilkinson Sep 20, 2024
c115f16
AppleClang 16 SimInfo LTO fix (#430)
FinnWilkinson Sep 20, 2024
27b587e
Removing Jenkins
ABenC377 Oct 16, 2024
36c45df
Making tests fail
ABenC377 Oct 16, 2024
da00a39
Fixing test failure
ABenC377 Oct 16, 2024
3adae7e
Cleaning up interface
ABenC377 Oct 16, 2024
3f7b497
Cleaning up interface
ABenC377 Oct 16, 2024
5539685
Cleaning up interface
ABenC377 Oct 17, 2024
e334e2c
Updating ubuntu toolchain apt link
ABenC377 Oct 17, 2024
3feccf4
Adding more verbose names
ABenC377 Oct 17, 2024
e8d12e6
Adding more verbose names
ABenC377 Oct 17, 2024
1ec832d
Adding workflow dispatch options for GHactions
ABenC377 Oct 17, 2024
93687da
Finessing comments
ABenC377 Oct 22, 2024
7df6f77
Getting rid of comments in the middle of a bash script
ABenC377 Oct 22, 2024
e1427a0
Removing GCC10/ubuntu patch to show seg fault issue
ABenC377 Oct 24, 2024
4fe1f2e
Updating comments
ABenC377 Oct 24, 2024
9708022
Playing with benchmarks script
ABenC377 Oct 24, 2024
a8edc35
Playing with benchmarks script
ABenC377 Oct 24, 2024
34177e8
Playing with benchmarks script
ABenC377 Oct 24, 2024
5192777
Playing with benchmarks script
ABenC377 Oct 24, 2024
13b40f2
Playing with benchmarks script
ABenC377 Oct 24, 2024
447981a
Playing with benchmarks script
ABenC377 Oct 24, 2024
87795bd
Playing with benchmarks script
ABenC377 Oct 24, 2024
d1dd16f
Playing with benchmarks script
ABenC377 Oct 24, 2024
cc575c1
Playing with benchmarks script
ABenC377 Oct 24, 2024
7950de6
Playing with benchmarks script
ABenC377 Oct 24, 2024
4df7b14
Playing with benchmarks script
ABenC377 Oct 24, 2024
be51f56
Playing with benchmarks script
ABenC377 Oct 24, 2024
e2b214a
Playing with benchmarks script
ABenC377 Oct 24, 2024
257bdb4
Playing with benchmarks script
ABenC377 Oct 24, 2024
698a510
Playing with benchmarks script
ABenC377 Oct 24, 2024
663bd31
Playing with benchmarks script
ABenC377 Oct 24, 2024
c669331
Playing with benchmarks script
ABenC377 Oct 24, 2024
a0bf6ce
Playing with benchmarks script
ABenC377 Oct 24, 2024
37de240
Playing with benchmarks script
ABenC377 Oct 24, 2024
c9de93c
Playing with benchmarks script
ABenC377 Oct 24, 2024
d4ee65a
Playing with benchmarks script
ABenC377 Oct 24, 2024
ceac08f
Playing with benchmarks script
ABenC377 Oct 24, 2024
c0fe963
Playing with benchmarks script
ABenC377 Oct 24, 2024
11b8857
Playing with benchmarks script
ABenC377 Oct 24, 2024
5af211d
Playing with benchmarks script
ABenC377 Oct 24, 2024
926edd5
Playing with benchmarks script
ABenC377 Oct 24, 2024
37f700b
Playing with benchmarks script
ABenC377 Oct 25, 2024
b546b90
Playing with benchmarks script
ABenC377 Oct 25, 2024
fdd0c7a
Playing with benchmarks script
ABenC377 Oct 25, 2024
c27b21b
Playing with benchmarks script
ABenC377 Oct 25, 2024
f912c36
Playing with benchmarks script
ABenC377 Oct 25, 2024
c1ae4fd
Playing with benchmarks script
ABenC377 Oct 25, 2024
024fc0c
Playing with benchmarks script
ABenC377 Oct 25, 2024
301d617
Playing with benchmarks script
ABenC377 Oct 25, 2024
95fc4c7
Playing with benchmarks script
ABenC377 Oct 25, 2024
6be3f70
Playing with benchmarks script
ABenC377 Oct 25, 2024
807cd86
Playing with benchmarks script
ABenC377 Oct 27, 2024
d716c9d
Playing with benchmarks script
ABenC377 Oct 27, 2024
727f153
Playing with benchmarks script
ABenC377 Oct 27, 2024
87e05ca
Playing with benchmarks script
ABenC377 Oct 27, 2024
bd29086
Playing with benchmarks script
ABenC377 Oct 27, 2024
95218b4
Playing with benchmarks script
ABenC377 Oct 27, 2024
90b52a6
Playing with benchmarks script
ABenC377 Oct 27, 2024
d9b90f2
Playing with benchmarks script
ABenC377 Oct 27, 2024
d8c074d
Playing with benchmarks script
ABenC377 Oct 27, 2024
b1fd146
Playing with benchmarks script
ABenC377 Oct 27, 2024
21ca45a
Playing with benchmarks script
ABenC377 Oct 27, 2024
d95d448
Playing with benchmarks script
ABenC377 Oct 27, 2024
38d3704
Playing with benchmarks script
ABenC377 Oct 27, 2024
831861c
Playing with benchmarks script
ABenC377 Oct 27, 2024
477b377
Playing with benchmarks script
ABenC377 Oct 27, 2024
699e87d
Playing with benchmarks script
ABenC377 Oct 27, 2024
aa83aa7
Playing with benchmarks script
ABenC377 Oct 27, 2024
92cf781
Playing with benchmarks script
ABenC377 Oct 27, 2024
9c5064b
Playing with benchmarks script
ABenC377 Oct 27, 2024
a67d9b8
Playing with benchmarks script
ABenC377 Oct 27, 2024
84eb74a
Playing with benchmarks script
ABenC377 Oct 27, 2024
6abb5e5
Playing with benchmarks script
ABenC377 Oct 27, 2024
d8c2370
Playing with benchmarks script
ABenC377 Oct 27, 2024
3a3da76
Playing with benchmarks script
ABenC377 Oct 27, 2024
24d62ba
Playing with benchmarks script
ABenC377 Oct 27, 2024
488ff5f
Playing with benchmarks script
ABenC377 Oct 28, 2024
6783424
Playing with benchmarks script
ABenC377 Oct 28, 2024
01842b7
Playing with benchmarks script
ABenC377 Oct 28, 2024
d054c5b
Playing with benchmarks script
ABenC377 Oct 28, 2024
4847074
Playing with benchmarks script
ABenC377 Oct 28, 2024
c2580d8
Bringing it all together!
ABenC377 Oct 28, 2024
0913ade
Bringing it all together!
ABenC377 Oct 28, 2024
c7ae2fa
Bringing it all together!
ABenC377 Oct 28, 2024
9c54072
Bringing it all together!
ABenC377 Oct 28, 2024
c099d98
Back to playing -- TeaLeaf being a pain
ABenC377 Oct 28, 2024
849696c
Back to playing -- TeaLeaf being a pain
ABenC377 Oct 28, 2024
5fdb2d4
Back to playing -- TeaLeaf being a pain
ABenC377 Oct 28, 2024
d1c2b91
Fingers crossed -- might this finally be it?!
ABenC377 Oct 28, 2024
56b0d1e
Seeing what happens with armclang
ABenC377 Oct 28, 2024
7643c79
Finalising the comments etc.
ABenC377 Oct 28, 2024
9ba803d
Changes.
ABenC377 Oct 28, 2024
28866b9
Changes.
ABenC377 Oct 28, 2024
397b07a
Changes.
ABenC377 Oct 28, 2024
905e676
Adding comments explaining individulaised steps for each benchmark
ABenC377 Oct 31, 2024
5820590
Updating comments on GH actions
ABenC377 Nov 5, 2024
fc06a88
Updating comments on GH actions
ABenC377 Nov 6, 2024
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
113 changes: 113 additions & 0 deletions .github/actions/select_setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
name: setup armclang
description: installs dependencies and correct armclang version to build and test simeng
jj16791 marked this conversation as resolved.
Show resolved Hide resolved

##############################################################################
# Calls the correct setup action based on parameters passed into this action.
##############################################################################

inputs:
OS:
required: true
COMPILER:
required: true
MODE:
required: true

runs:
using: 'composite'
steps:
##########################################
# GCC jobs
##########################################

# ubuntu
- if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'ubuntu') }}
name: Install ${{ inputs.COMPILER }} + Build SimEng
uses: ./.github/actions/setup_gcc_ubuntu
with:
OS: ${{ inputs.OS }}
gcc-version: ${{ inputs.COMPILER }}
MODE: ${{ inputs.mode }}

# rocky linux
- if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'rocky') }}
name: Install ${{ inputs.COMPILER }} + Build SimEng
uses: ./.github/actions/setup_gcc_rocky
with:
OS: ${{ inputs.OS }}
gcc-version: ${{ inputs.COMPILER }}
MODE: ${{ inputs.mode }}

# red hat
- if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'redhat') }}
name: Install ${{ inputs.COMPILER }} + Build SimEng
uses: ./.github/actions/setup_gcc_redhat
with:
OS: ${{ inputs.OS }}
gcc-version: ${{ inputs.COMPILER }}
MODE: ${{ inputs.mode }}

# debian
- if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'debian') }}
name: Install ${{ inputs.COMPILER }} + Build SimEng
uses: ./.github/actions/setup_gcc_debian
with:
OS: ${{ inputs.OS }}
gcc-version: ${{ inputs.COMPILER }}
MODE: ${{ inputs.mode }}

# macos
- if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'macos') }}
name: Install ${{ inputs.COMPILER }} + Build SimEng
uses: ./.github/actions/setup_gcc_macos
with:
OS: ${{ inputs.OS }}
gcc-version: ${{ inputs.COMPILER }}
MODE: ${{ inputs.mode }}

##########################################
# APPLE CLANG
##########################################

- if: ${{ contains( inputs.COMPILER, 'clang') && contains( inputs.OS, 'macos') }}
name: Install ${{ inputs.COMPILER }} + Build SimEng
uses: ./.github/actions/setup_clang_macos
with:
OS: ${{ inputs.OS }}
MODE: ${{ inputs.mode }}

##########################################
# ARM CLANG
##########################################

# ubuntu
- if: ${{ contains( inputs.COMPILER, 'armclang') && contains( inputs.OS, 'ubuntu') }}
name: Install ${{ inputs.COMPILER }} + Build SimEng
uses: ./.github/actions/setup_armclang_ubuntu
with:
OS: ${{ inputs.OS }}
MODE: ${{ inputs.mode }}

# debian
- if: ${{ contains( inputs.COMPILER, 'armclang') && contains( inputs.OS, 'debian') }}
name: Install ${{ inputs.COMPILER }} + Build SimEng
uses: ./.github/actions/setup_armclang_debian
with:
OS: ${{ inputs.OS }}
MODE: ${{ inputs.mode }}

# redhat
- if: ${{ contains( inputs.COMPILER, 'armclang') && contains( inputs.OS, 'redhat') }}
name: Install ${{ inputs.COMPILER }} + Build SimEng
uses: ./.github/actions/setup_armclang_redhat
with:
OS: ${{ inputs.OS }}
MODE: ${{ inputs.mode }}

# rocky
- if: ${{ contains( inputs.COMPILER, 'armclang') && contains( inputs.OS, 'rocky') }}
name: Install ${{ inputs.COMPILER }} + Build SimEng
uses: ./.github/actions/setup_armclang_rocky
with:
OS: ${{ inputs.OS }}
MODE: ${{ inputs.mode }}
95 changes: 95 additions & 0 deletions .github/actions/setup_armclang_debian/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: setup gcc
jj16791 marked this conversation as resolved.
Show resolved Hide resolved
description: installs dependencies and correct gcc version to build and test simeng
jj16791 marked this conversation as resolved.
Show resolved Hide resolved

inputs:
OS:
description: docker image name
required: true
MODE:
description: simeng-mode e.g. Release or Debug
required: true

runs:
using: 'composite'
steps:
#######################################
# Install dependencies required (cmake, etc).
#######################################
- name: Install dependencies
shell: bash
run: |
export DEBIAN_FRONTEND=noninteractive

# Update package lists
apt-get update

# Install essential packages
apt-get install -y \
python3-launchpadlib \
software-properties-common \
build-essential \
sudo \
wget \
zlib1g-dev \
python3 \
build-essential \
libssl-dev \
ninja-build \
tree \
git

# add pyparsing for benchmarking
apt-get install -y python3-pip
pip3 install pyparsing

apt-get update
apt-get upgrade -y

#######################################
# Install Cmake
#######################################
- name: Install Cmake via apt
shell: bash
run: |
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \
apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main' && \
apt update && apt install cmake -y
apt upgrade -y

#######################################
# Install ArmClang
#######################################
- name: Install armclang
shell: bash
run: |
apt-get update
apt-get upgrade -y
apt-get install environment-modules
source /etc/profile.d/modules.sh

wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.04/arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar
tar -xf arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar

./arm-compiler-for-linux_24.04_Ubuntu-20.04/arm-compiler-for-linux_24.04_Ubuntu-20.04.sh --install-to ./armclang_compiler
export MODULEPATH=$MODULEPATH:$(pwd)/armclang_compiler/modulefiles

module avail
module load acfl/24.04
armclang -v

echo "C_COMPILER=$(which armclang)" >> $GITHUB_ENV
echo "CPP_COMPILER=$(which armclang++)" >> $GITHUB_ENV

#######################################
# Build SimEng
#######################################
- name: Build SimEng
shell: bash
run: |
cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.C_COMPILER }} -DCMAKE_CXX_COMPILER=${{ env.CPP_COMPILER }}

cmake --build build -j $(nproc)

cmake --build build --target install


91 changes: 91 additions & 0 deletions .github/actions/setup_armclang_redhat/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: setup gcc
jj16791 marked this conversation as resolved.
Show resolved Hide resolved
description: installs dependencies and correct gcc version to build and test simeng
jj16791 marked this conversation as resolved.
Show resolved Hide resolved

inputs:
OS:
description: docker image name
required: true
MODE:
description: simeng-mode e.g. Release or Debug
required: true

runs:
using: 'composite'
steps:
#######################################
# Install dependencies required (cmake, etc).
#######################################
- name: Install dependencies
shell: bash
run: |
dnf -y update && \
dnf -y install \
gcc gcc-c++ make \
wget \
python3 \
git \
diffutils \
openssl-devel \
bzip2 \
automake \
autoconf \
cmake \
file \
zlib-devel

if [[ ${{ inputs.OS }} == 'redhat/ubi8:latest' ]]; then
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
elif [[ ${{ inputs.OS }} == 'redhat/ubi9:latest' ]]; then
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
fi

# add pyparsing for benchmarking
dnf install -y python3-pip
pip3 install pyparsing

dnf update -y
dnf upgrade -y
dnf clean all

#######################################
# Install Cmake
#######################################
- name: Install Cmake via DNF
shell: bash
run: |
dnf install -y cmake

######################################
# Install ArmClang
######################################
- name: Install armclang
shell: bash
run: |

dnf install -y environment-modules
source /etc/profile.d/modules.sh

wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.04/arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar
tar -xf arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar

./arm-compiler-for-linux_24.04_Ubuntu-20.04/arm-compiler-for-linux_24.04_Ubuntu-20.04.sh --install-to ./armclang_compiler
export MODULEPATH=$MODULEPATH:$(pwd)/armclang_compiler/modulefiles

module avail
module load acfl/24.04
armclang -v

echo "C_COMPILER=$(which armclang)" >> $GITHUB_ENV
echo "CPP_COMPILER=$(which armclang++)" >> $GITHUB_ENV

#######################################
# Build SimEng
#######################################
- name: Build SimEng
shell: bash
run: |
cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.C_COMPILER }} -DCMAKE_CXX_COMPILER=${{ env.CPP_COMPILER }}

cmake --build build -j $(nproc)

cmake --build build --target install
86 changes: 86 additions & 0 deletions .github/actions/setup_armclang_rocky/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: setup gcc
jj16791 marked this conversation as resolved.
Show resolved Hide resolved
description: installs dependencies and correct gcc version to build and test simeng
jj16791 marked this conversation as resolved.
Show resolved Hide resolved

inputs:
OS:
description: docker image name
required: true
MODE:
description: simeng-mode e.g. Release or Debug
required: true

runs:
using: 'composite'
steps:
#######################################
# Install dependencies required (cmake, etc).
#######################################
- name: Install dependencies
shell: bash
run: |
dnf -y update && \
dnf install -y epel-release \
gcc gcc-c++ make \
git \
wget \
openssl-devel \
automake \
autoconf \
bzip2 \
file \
sudo \
tree \
zlib-devel

# add pyparsing for benchmarking
dnf install -y python3-pip
pip3 install pyparsing

dnf group install -y "Development Tools"
dnf update -y
dnf upgrade -y

#######################################
# Install Cmake
#######################################
- name: Install Cmake via DNF
shell: bash
run: |
dnf install -y cmake

######################################
# Install ArmClang
######################################
- name: Install armclang
shell: bash
run: |

dnf install -y environment-modules
source /etc/profile.d/modules.sh

wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.04/arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar
tar -xf arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar

./arm-compiler-for-linux_24.04_Ubuntu-20.04/arm-compiler-for-linux_24.04_Ubuntu-20.04.sh --install-to ./armclang_compiler
export MODULEPATH=$MODULEPATH:$(pwd)/armclang_compiler/modulefiles

module avail
module load acfl/24.04
armclang -v

echo "C_COMPILER=$(which armclang)" >> $GITHUB_ENV
echo "CPP_COMPILER=$(which armclang++)" >> $GITHUB_ENV

#######################################
# Build SimEng
#######################################
- name: Build SimEng
shell: bash
run: |
cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} \
-DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }}

cmake --build build -j $(nproc)

cmake --build build --target install

Loading
Loading