Skip to content

Merge pull request #201 from akrherz/afos_links #376

Merge pull request #201 from akrherz/afos_links

Merge pull request #201 from akrherz/afos_links #376

Workflow file for this run

name: Install and Test
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
build-linux:
defaults:
run:
# Ensures environment gets sourced right
shell: bash -l {0}
name: Python (${{ matrix.PYTHON_VERSION }})
runs-on: ubuntu-latest
strategy:
matrix:
PYTHON_VERSION: ["3.9", "3.11", "3.12"]
env:
PYTHON_VERSION: ${{ matrix.PYTHON_VERSION }}
HAS_IEMDATABASE: 0
steps:
- uses: actions/checkout@v4
- name: Add /etc/hosts entries
run: |
cat .github/workflows/etchosts.txt | sudo tee -a /etc/hosts
- name: Setup Directory Structure
run: |
sudo mkdir -p /mesonet/data/iemre
sudo mkdir -p /mesonet/ARCHIVE/data/2023/07/13/model/ffg
sudo chown -R runner /mesonet
wget -O /mesonet/ARCHIVE/data/2023/07/13/model/ffg/5kmffg_2023071300.grib2 https://mesonet.agron.iastate.edu/archive/data/2023/07/13/model/ffg/5kmffg_2023071300.grib2
sudo mkdir /opt/bufkit
sudo git clone https://github.com/ckarstens/bufkit.git /opt/bufkit
# setup conda-forge with micromamba
- name: Setup Python
uses: mamba-org/setup-micromamba@v1
with:
environment-file: environment.yml
condarc: |
channels:
- conda-forge
- defaults
create-args: >-
python=${{ env.PYTHON_VERSION }}
environment-name: prod
cache-environment: true
- name: Install Python Dependencies
run: |
python -m pip install -r pip_requirements.txt
- name: Setup Postgres
run: |
set -e
git clone --depth 1 https://github.com/akrherz/iem-database.git database
git clone --depth 1 https://github.com/akrherz/ci_tooling.git .ci_tooling
cd .ci_tooling
. postgres.sh
cd ..
cd database; sh bootstrap.sh
python schema_manager.py
cd ../testdata
sh load.sh
- name: Setup CI from ci-tooling
run: |
set -e
python -m pip install --upgrade .
coverage run --source=iemws setup.py test
coverage xml
- name: Upload coverage to Codecov
if: ${{ env.PYTHON_VERSION == '3.12' }}
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
file: coverage.xml
fail_ci_if_error: true