Precompile genx and cache #20
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Daily PowerGenome outputs test | |
on: [push] | |
jobs: | |
run-pg-example: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash -l {0} | |
strategy: | |
max-parallel: 5 | |
matrix: | |
branch: [master, develop] | |
permissions: | |
actions: write | |
contents: read | |
steps: | |
- uses: julia-actions/setup-julia@v2 | |
- uses: julia-actions/cache@v2 | |
- name: Checkout GenX.jl repository | |
uses: actions/checkout@v4 | |
with: | |
repository: GenXProject/GenX.jl | |
ref: support/0.3.x | |
path: GenX | |
# Step 3: Install GenX.jl package using the checked out directory | |
- name: Install GenX.jl | |
uses: julia-actions/julia-buildpkg@v1 | |
with: | |
project: GenX | |
precompile: yes | |
# run: | | |
# cd GenX | |
# julia --project=. -e 'using Pkg; Pkg.instantiate(); Pkg.precompile()' | |
# Step 4: Checkout the current repository | |
- name: Checkout current repository | |
uses: actions/checkout@v4 | |
with: | |
path: current-repo | |
- name: Checkout PowerGenome repository | |
uses: actions/checkout@v4 | |
with: | |
repository: PowerGenome/PowerGenome | |
ref: ${{ matrix.branch }} | |
path: PowerGenome | |
# Step 5: Create env.yml in the specified directory | |
- name: Create env.yml file | |
run: | | |
mkdir -p ${{ github.workspace }}/current-repo/example_systems/CA_AZ/settings | |
echo 'PUDL_DB: sqlite://///${{ github.workspace }}/PowerGenome/tests/data/pudl_test_data.db' > ${{ github.workspace }}/current-repo/example_systems/CA_AZ/settings/env.yml | |
echo 'PG_DB: sqlite://///${{ github.workspace }}/PowerGenome/tests/data/pg_misc_tables.sqlite3' >> ${{ github.workspace }}/current-repo/example_systems/CA_AZ/settings/env.yml | |
echo 'EFS_DATA: ${{ github.workspace }}/PowerGenome/tests/data/efs' >> ${{ github.workspace }}/current-repo/example_systems/CA_AZ/settings/env.yml | |
echo 'DISTRIBUTED_GEN_DATA: ${{ github.workspace }}/PowerGenome/tests/data/dist_gen' >> ${{ github.workspace }}/current-repo/example_systems/CA_AZ/settings/env.yml | |
echo 'RESOURCE_GROUPS: ${{ github.workspace }}/PowerGenome/tests/data/resource_groups_base' >> ${{ github.workspace }}/current-repo/example_systems/CA_AZ/settings/env.yml | |
- name: Install Conda environment with Micromamba | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-file: ${{ github.workspace }}/PowerGenome/environment.yml | |
cache-environment: true | |
init-shell: bash | |
- name: Install powergenome | |
run: | | |
pip install -e PowerGenome/. | |
- name: Run PowerGenome | |
run: | | |
cd ${{ github.workspace }}/current-repo/example_systems/CA_AZ/settings | |
sed -i 's/nrel_cambium_distr_pv_2022_utc.parquet/nrel_cambium_distr_pv_2022_slim.parquet/' distributed_gen.yml | |
sed -i 's/eia_data_years:/eia_data_years: [2018, 2020]/' resources.yml | |
sed -i 's/ - 2020/ # - 2020/' resources.yml | |
cd .. | |
run_powergenome_multiple -sf settings -rf genx-test -c p1 -mp | |
cd .. | |
cp Run.jl ${{ github.workspace }}/current-repo/example_systems/CA_AZ/genx-test/p1/Inputs/Inputs_p1 | |
cp -r Settings/ ${{ github.workspace }}/current-repo/example_systems/CA_AZ/genx-test/p1/Inputs/Inputs_p1/ | |
cd CA_AZ | |
- name: Upload Inputs | |
uses: actions/upload-artifact@v4 | |
if: always() # This ensures the step runs even if the previous step fails | |
with: | |
name: PG-outputs-${{ matrix.branch }} | |
path: ${{ github.workspace }}/current-repo/example_systems/CA_AZ/genx-test/p1/Inputs/Inputs_p1/ | |
if-no-files-found: ignore # This option prevents the step from failing if no error.log file is created | |
- name: Run GenX | |
run: | | |
cd ${{ github.workspace }}/GenX | |
julia --project=. ${{ github.workspace }}/current-repo/example_systems/CA_AZ/genx-test/p1/Inputs/Inputs_p1/Run.jl | |
- name: Upload Results | |
uses: actions/upload-artifact@v4 | |
if: always() # This ensures the step runs even if the previous step fails | |
with: | |
name: GenX-results-${{ matrix.branch }} | |
path: ${{ github.workspace }}/current-repo/example_systems/CA_AZ/genx-test/p1/Inputs/Inputs_p1/Results | |
if-no-files-found: ignore # This option prevents the step from failing if no error.log file is created | |