Skip to content

Commit cec2f77

Browse files
author
matthiasfabry
committed
Merge branch 'main' into rotation_update
# Conflicts: # star/defaults/controls.defaults # star/private/hydro_eqns.f90 # star/private/hydro_rotation.f90
2 parents 92a991d + cb80a32 commit cec2f77

File tree

1,435 files changed

+57605
-174201
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,435 files changed

+57605
-174201
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
2-
name: Bug report
2+
name: "\U0001F41B Bug report"
33
about: Create a report to help us improve
44
title: ''
5-
labels: ''
5+
labels: bug
66
assignees: ''
77

88
---
@@ -23,16 +23,10 @@ A clear and concise description of what you expected to happen.
2323
**Screenshots**
2424
If applicable, add screenshots to help explain your problem.
2525

26-
**Desktop (please complete the following information):**
27-
- OS: [e.g. iOS]
28-
- Browser [e.g. chrome, safari]
29-
- Version [e.g. 22]
30-
31-
**Smartphone (please complete the following information):**
32-
- Device: [e.g. iPhone6]
33-
- OS: [e.g. iOS8.1]
34-
- Browser [e.g. stock browser, safari]
35-
- Version [e.g. 22]
26+
**Version**
27+
- MESA version or SHA [e.g. r24.08.1]
28+
- MESA SDK VERSION [e.g. aarch64-macos-24.7.1]
29+
- OS: [e.g. MacOS 16.4.1]
3630

3731
**Additional context**
3832
Add any other context about the problem here.
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
name : 'install-mesa'
2+
3+
description: 'Download and install the MESA SDK and install MESA'
4+
5+
inputs:
6+
sdk:
7+
description: 'The version of the MESA SDK to install'
8+
required: false
9+
default: '23.7.3'
10+
11+
runs:
12+
13+
using: 'composite'
14+
15+
steps:
16+
- name: Delete unused packages
17+
run: |
18+
# runners have 150GB of disk space and the Ubuntu image is big so we sometimes found it ran out of space for MESA
19+
# others have encountered this too so we took commands from this action
20+
# https://github.com/jlumbroso/free-disk-space
21+
# currently commented because we don't need it and these commands can need changing when the Ubuntu image changes
22+
sudo rm -rf /usr/local/lib/android
23+
# sudo apt-get remove -y '^aspnetcore-.*'
24+
# sudo apt-get remove -y '^dotnet-.*' # 990 MB
25+
# sudo apt-get remove -y '^llvm-.*' # 1052 MB
26+
# sudo apt-get remove -y 'php.*' # 56.6 MB
27+
# sudo apt-get remove -y '^mysql-.*' # 209 MB
28+
# sudo apt-get remove -y azure-cli google-cloud-cli google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri # 2274 MB
29+
sudo apt-get autoremove -y # 771 MB
30+
sudo apt-get clean
31+
shell: bash
32+
33+
- name: Create LFS file list
34+
run: |
35+
git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id
36+
shell: bash
37+
38+
- name: Restore LFS cache
39+
uses: actions/cache@v4
40+
id: lfs-cache
41+
with:
42+
path: .git/lfs
43+
key: ${{ runner.os }}-${{ hashFiles('.lfs-assets-id') }}-v1
44+
45+
- name: Git LFS Pull
46+
run: git lfs pull
47+
shell: bash
48+
if: steps.lfs-cache.outputs.cache-hit != 'true'
49+
50+
- name: Git LFS Checkout
51+
run: git lfs checkout
52+
shell: bash
53+
if: steps.lfs-cache.outputs.cache-hit == 'true'
54+
55+
- name: Install dependencies Linux
56+
run: |
57+
sudo apt-get -y update
58+
sudo apt-get -y install wget binutils make perl libx11-6 libx11-dev zlib1g zlib1g-dev tcsh
59+
shell: bash
60+
61+
- uses: actions/cache@v4
62+
id: cache
63+
with:
64+
path: |
65+
mesasdk-x86_64-linux-${{inputs.sdk}}.tar.gz
66+
key: ${{ runner.os }}-${{inputs.sdk}}
67+
68+
- name: Get SDK ${{ runner.os }} '21.4.1'
69+
if: ${{ (steps.cache.outputs.cache-hit != 'true') && ( inputs.sdk == '21.4.1') }}
70+
run: |
71+
wget -q https://zenodo.org/record/5802444/files/mesasdk-x86_64-linux-21.4.1.tar.gz
72+
shell: bash
73+
74+
- name: Get SDK ${{ runner.os }} '22.6.1'
75+
if: ${{ (steps.cache.outputs.cache-hit != 'true') && ( inputs.sdk == '22.6.1') }}
76+
run: |
77+
wget -q https://zenodo.org/record/7457681/files/mesasdk-x86_64-linux-22.6.1.tar.gz
78+
shell: bash
79+
80+
- name: Get SDK ${{ runner.os }} '23.7.3'
81+
if: ${{ (steps.cache.outputs.cache-hit != 'true') && ( inputs.sdk == '23.7.3') }}
82+
run: |
83+
wget -q https://zenodo.org/record/10624843/files/mesasdk-x86_64-linux-23.7.3.tar.gz
84+
shell: bash
85+
86+
- name: Get SDK ${{ runner.os }} '24.7.1'
87+
if: ${{ (steps.cache.outputs.cache-hit != 'true') && ( inputs.sdk == '24.7.1') }}
88+
run: |
89+
wget -q https://zenodo.org/records/13768913/files/mesasdk-x86_64-linux-24.7.1.tar.gz
90+
shell: bash
91+
92+
- name: Unpack SDK ${{ runner.os }} ${{inputs.sdk}}
93+
run: |
94+
tar xvf mesasdk-x86_64-linux-${{inputs.sdk}}.tar.gz
95+
shell: bash
96+
97+
- name: Compile
98+
run: |
99+
# Linux runners have 4 cores
100+
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
101+
export OMP_NUM_THREADS=4
102+
export NPROCS=4
103+
export "MESASDK_ROOT=$(readlink -f mesasdk)"
104+
source "${MESASDK_ROOT}/bin/mesasdk_init.sh"
105+
export "MESA_DIR=$(readlink -f ./)"
106+
# Save environment variables to Github environment
107+
echo "OMP_NUM_THREADS=${OMP_NUM_THREADS}" >> $GITHUB_ENV
108+
echo "NPROCS=${NPROCS}" >> $GITHUB_ENV
109+
echo "MESASDK_ROOT=${MESASDK_ROOT}" >> $GITHUB_ENV
110+
echo "MESA_DIR=${MESA_DIR}" >> $GITHUB_ENV
111+
# Everything is run as root so we need to disable the root check in the install script
112+
sed -i 's/\${EUID:-\$(id -u)}/1/' install
113+
# Turn off caching during build to save more space
114+
sed -i 's/use_cache_for_eos = .true./use_cache_for_eos = .false./g' $MESA_DIR/eos/public/eos_def.f90
115+
sed -i 's/use_cache = .true./use_cache = .false./g' $MESA_DIR/star/private/star_private_def.f90
116+
./install
117+
if [ ! -f lib/libbinary.a ]; then
118+
exit 1
119+
fi
120+
shell: bash

.github/workflows/build-linux.yml

Lines changed: 5 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -7,102 +7,15 @@ jobs:
77
strategy:
88
fail-fast: false
99
matrix:
10-
sdk: ["21.4.1", "22.6.1", "23.7.3"]
10+
sdk: ["22.6.1", "23.7.3", "24.7.1"]
1111

1212
runs-on: ubuntu-latest
1313

1414
steps:
15-
- name: Delete unused packages
16-
run: |
17-
# runners have 150GB of disk space and the Ubuntu image is big so we sometimes found it ran out of space for MESA
18-
# others have encountered this too so we took commands from this action
19-
# https://github.com/jlumbroso/free-disk-space
20-
# currently commented because we don't need it and these commands can need changing when the Ubuntu image changes
21-
sudo rm -rf /usr/local/lib/android
22-
# sudo apt-get remove -y '^aspnetcore-.*'
23-
# sudo apt-get remove -y '^dotnet-.*' # 990 MB
24-
# sudo apt-get remove -y '^llvm-.*' # 1052 MB
25-
# sudo apt-get remove -y 'php.*' # 56.6 MB
26-
# sudo apt-get remove -y '^mysql-.*' # 209 MB
27-
# sudo apt-get remove -y azure-cli google-cloud-cli google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri # 2274 MB
28-
sudo apt-get autoremove -y # 771 MB
29-
sudo apt-get clean
30-
3115
- name: Checkout
32-
uses: actions/[email protected]
33-
34-
- name: Create LFS file list
35-
run: |
36-
git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id
37-
38-
- name: Restore LFS cache
39-
uses: actions/cache@v3
40-
id: lfs-cache
41-
with:
42-
path: .git/lfs
43-
key: ${{ runner.os }}-${{ hashFiles('.lfs-assets-id') }}-v1
44-
45-
- name: Git LFS Pull
46-
run: git lfs pull
47-
if: steps.lfs-cache.outputs.cache-hit != 'true'
48-
49-
- name: Git LFS Checkout
50-
run: git lfs checkout
51-
if: steps.lfs-cache.outputs.cache-hit == 'true'
52-
53-
- name: Install dependencies Linux
54-
run: |
55-
sudo apt-get -y update
56-
sudo apt-get -y install wget binutils make perl libx11-6 libx11-dev zlib1g zlib1g-dev tcsh
57-
shell: bash
16+
uses: actions/checkout@v4
5817

59-
- uses: actions/cache@v3
60-
id: cache
18+
- name: Install MESA on ${{ runner.os }} with SDK ${{matrix.sdk}}
19+
uses: ./.github/actions/install-mesa
6120
with:
62-
path: |
63-
mesasdk-x86_64-linux-${{matrix.sdk}}.tar.gz
64-
key: ${{ runner.os }}-${{matrix.sdk}}
65-
66-
67-
- name: Get SDK ${{ runner.os }} '21.4.1'
68-
if: ${{ (steps.cache.outputs.cache-hit != 'true') && ( matrix.sdk == '21.4.1') }}
69-
run: |
70-
wget -q https://zenodo.org/record/5802444/files/mesasdk-x86_64-linux-21.4.1.tar.gz
71-
shell: bash
72-
73-
- name: Get SDK ${{ runner.os }} '22.6.1'
74-
if: ${{ (steps.cache.outputs.cache-hit != 'true') && ( matrix.sdk == '22.6.1') }}
75-
run: |
76-
wget -q https://zenodo.org/record/7457681/files/mesasdk-x86_64-linux-22.6.1.tar.gz
77-
shell: bash
78-
79-
- name: Get SDK ${{ runner.os }} '23.7.3'
80-
if: ${{ (steps.cache.outputs.cache-hit != 'true') && ( matrix.sdk == '23.7.3') }}
81-
run: |
82-
wget -q https://zenodo.org/record/10624843/files/mesasdk-x86_64-linux-23.7.3.tar.gz
83-
shell: bash
84-
85-
- name: Unpack SDK ${{ runner.os }} ${{matrix.sdk}}
86-
run: |
87-
tar xvf mesasdk-x86_64-linux-${{matrix.sdk}}.tar.gz
88-
shell: bash
89-
90-
- name: Compile
91-
shell: bash
92-
run: |
93-
# Linux runners have 4 cores
94-
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
95-
export OMP_NUM_THREADS=4
96-
export NPROCS=4
97-
export "MESASDK_ROOT=$(readlink -f mesasdk)"
98-
source "${MESASDK_ROOT}/bin/mesasdk_init.sh"
99-
export "MESA_DIR=$(readlink -f ./)"
100-
# Everything is run as root so we need to disable the root check in the install script
101-
sed -i 's/\${EUID:-\$(id -u)}/1/' install
102-
# Turn off caching during build to save more space
103-
sed -i 's/use_cache_for_eos = .true./use_cache_for_eos = .false./g' $MESA_DIR/eos/public/eos_def.f90
104-
sed -i 's/use_cache = .true./use_cache = .false./g' $MESA_DIR/star/private/star_private_def.f90
105-
./install
106-
if [ ! -f lib/libbinary.a ]; then
107-
exit 1
108-
fi
21+
sdk: ${{matrix.sdk}}

.github/workflows/test-mesa.yml

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
name: Test Mesa
2+
3+
on: [workflow_dispatch, release]
4+
5+
jobs:
6+
test_mesa:
7+
environment: gh-action-testhub
8+
strategy:
9+
fail-fast: false
10+
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v4
16+
with:
17+
ref: ${{ github.event.pull_request.head.ref }}
18+
19+
- name: Print git hash
20+
run: |
21+
cd $GITHUB_WORKSPACE
22+
pwd
23+
git branch
24+
git log --pretty=format:'%h' -n 1
25+
shell: bash
26+
27+
- name: Install MESA on ${{ runner.os }} with SDK 24.7.1
28+
uses: ./.github/actions/install-mesa
29+
with:
30+
sdk: "24.7.1"
31+
32+
- name: Checkout mesa_test
33+
uses: actions/checkout@v4
34+
with:
35+
repository: MESAHub/mesa_test
36+
path: mesa_test # Store in $GITHUB_WORKSPACE/mesa_test
37+
38+
- name: Install mesa_test
39+
run: |
40+
cd $GITHUB_WORKSPACE/mesa_test
41+
sudo gem install mesa_test
42+
cd $GITHUB_WORKSPACE
43+
mkdir /home/runner/.mesa_test
44+
shell: bash
45+
46+
- name: Create mesa_test config file
47+
env:
48+
OMP_NUM_THREADS: ${{env.OMP_NUM_THREADS}}
49+
NPROCS: ${{env.NPROCS}}
50+
MESASDK_ROOT: ${{env.MESASDK_ROOT}}
51+
MESA_DIR: ${{env.MESA_DIR}}
52+
run: |
53+
MESA_TEST_YML=/home/runner/.mesa_test/config.yml
54+
echo "---" > $MESA_TEST_YML
55+
echo "computer_name: GitHub_Runner" >> $MESA_TEST_YML
56+
echo "email: ${{ secrets.MESA_TEST_EMAIL }}" >> $MESA_TEST_YML
57+
echo "password: ${{ secrets.MESA_TEST_PASSWORD }}" >> $MESA_TEST_YML
58+
echo "logs_token: ${{ secrets.MESA_TEST_LOGS_TOKEN }}" >> $MESA_TEST_YML
59+
echo "github_protocol: :ssh" >> $MESA_TEST_YML
60+
echo "mesa_mirror: $GITHUB_WORKSPACE/mirror" >> $MESA_TEST_YML
61+
echo "mesa_work: $GITHUB_WORKSPACE" >> $MESA_TEST_YML
62+
echo "platform: Linux" >> $MESA_TEST_YML
63+
echo "platform_version: Ubuntu" >> $MESA_TEST_YML
64+
shell: bash
65+
66+
- name: Check Install
67+
env:
68+
OMP_NUM_THREADS: ${{env.OMP_NUM_THREADS}}
69+
NPROCS: ${{env.NPROCS}}
70+
MESASDK_ROOT: ${{env.MESASDK_ROOT}}
71+
MESA_DIR: ${{env.MESA_DIR}}
72+
run: |
73+
source "${MESASDK_ROOT}/bin/mesasdk_init.sh"
74+
mesa_test submit --empty
75+
shell: bash
76+
77+
- name: Test Problem 13
78+
env:
79+
OMP_NUM_THREADS: ${{env.OMP_NUM_THREADS}}
80+
NPROCS: ${{env.NPROCS}}
81+
MESASDK_ROOT: ${{env.MESASDK_ROOT}}
82+
MESA_DIR: ${{env.MESA_DIR}}
83+
run: |
84+
source "${MESASDK_ROOT}/bin/mesasdk_init.sh"
85+
mesa_test test 13 --module=star
86+
shell: bash
87+
88+
- name: Test Problem 15
89+
env:
90+
OMP_NUM_THREADS: ${{env.OMP_NUM_THREADS}}
91+
NPROCS: ${{env.NPROCS}}
92+
MESASDK_ROOT: ${{env.MESASDK_ROOT}}
93+
MESA_DIR: ${{env.MESA_DIR}}
94+
run: |
95+
source "${MESASDK_ROOT}/bin/mesasdk_init.sh"
96+
mesa_test test 15 --module=star
97+
shell: bash
98+
99+
- name: Test Problem 29
100+
env:
101+
OMP_NUM_THREADS: ${{env.OMP_NUM_THREADS}}
102+
NPROCS: ${{env.NPROCS}}
103+
MESASDK_ROOT: ${{env.MESASDK_ROOT}}
104+
MESA_DIR: ${{env.MESA_DIR}}
105+
run: |
106+
source "${MESASDK_ROOT}/bin/mesasdk_init.sh"
107+
mesa_test test 29 --module=star
108+
shell: bash
109+
110+
- name: Test Problem 41
111+
env:
112+
OMP_NUM_THREADS: ${{env.OMP_NUM_THREADS}}
113+
NPROCS: ${{env.NPROCS}}
114+
MESASDK_ROOT: ${{env.MESASDK_ROOT}}
115+
MESA_DIR: ${{env.MESA_DIR}}
116+
run: |
117+
source "${MESASDK_ROOT}/bin/mesasdk_init.sh"
118+
mesa_test test 41 --module=star
119+
shell: bash

0 commit comments

Comments
 (0)