From 9f5e68a3fabca1e799a472dfbf513919fe942520 Mon Sep 17 00:00:00 2001 From: Facundo Sapienza Date: Fri, 7 Jul 2023 10:52:09 +0000 Subject: [PATCH] setup CI for Huginn --- .github/workflows/CI.yml | 101 +++++++++++++++++++++++++++++ .github/workflows/CompatHelper.yml | 16 +++++ .github/workflows/TagBot.yml | 15 +++++ 3 files changed, 132 insertions(+) create mode 100644 .github/workflows/CI.yml create mode 100644 .github/workflows/CompatHelper.yml create mode 100644 .github/workflows/TagBot.yml diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..0aad97f --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,101 @@ +name: Run Tests +on: + pull_request: + branches: + - main + push: + branches: + - main + tags: '*' +concurrency: + # Skip intermediate builds: always. + # Cancel intermediate builds: only if it is a pull request build. + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + defaults: + run: + shell: bash -el {0} + strategy: + fail-fast: false + matrix: + version: + - '1.9' + python: [3.9] + os: + - ubuntu-latest + arch: + - x64 + steps: + - uses: actions/checkout@v2 + - name: Set up Python 🐍 ${{ matrix.python }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + - name: Create environment with micromamba 🐍🖤 + uses: mamba-org/setup-micromamba@v1 + with: + micromamba-version: '1.3.1-0' + environment-file: ./environment.yml + environment-name: oggm_env # it is recommendable to add both name and yml file. + init-shell: bash + cache-environment: true +# condarc-file: ./condarc.yml # If necessary, we can include .condarc to configure environment + - name: Test creation of environment with micromamba 🔧🐍🖤 + run: | + which python + conda env export + shell: bash -el {0} + - name: Update certifi + run: | + pip install --upgrade certifi + shell: bash -el {0} +# - name: Test OGGM installation 🔧🌎 +# run: pytest.oggm +# shell: bash -el {0} + - name: Set ENV Variables for PyCall.jl 🐍 📞 + run: export PYTHON=/home/runner/micromamba/envs/oggm_env/bin/python + shell: bash -el {0} + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - uses: julia-actions/cache@v1 + with: + cache-registries: "true" + cache-compiled: "true" + - uses: julia-actions/julia-buildpkg@v1 + env: + PYTHON : /home/runner/micromamba/envs/oggm_env/bin/python + - uses: julia-actions/julia-runtest@v1 + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v3 + with: + token: ${{secrets.CODECOV_TOKEN}} + files: lcov.info + # docs: + # name: Documentation + # runs-on: ubuntu-latest + # permissions: + # contents: write + # statuses: write + # steps: + # - uses: actions/checkout@v2 + # - uses: julia-actions/setup-julia@v1 + # with: + # version: '1.9' + # - uses: julia-actions/julia-buildpkg@v1 + # env: + # PYTHON : /home/runner/micromamba/envs/oggm_env/bin/python + # - uses: julia-actions/julia-docdeploy@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # - run: | + # julia --project=docs -e ' + # using Documenter: DocMeta, doctest + # using ODINN + # DocMeta.setdocmeta!(ODINN, :DocTestSetup, :(using ODINN); recursive=true) + # doctest(ODINN)' \ No newline at end of file diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml new file mode 100644 index 0000000..992cf22 --- /dev/null +++ b/.github/workflows/CompatHelper.yml @@ -0,0 +1,16 @@ +name: CompatHelper +on: + schedule: + - cron: 0 0 * * * + workflow_dispatch: +jobs: + CompatHelper: + runs-on: ubuntu-latest + steps: + - name: Pkg.add("CompatHelper") + run: julia -e 'using Pkg; Pkg.add("CompatHelper")' + - name: CompatHelper.main() + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }} + run: julia -e 'using CompatHelper; CompatHelper.main()' \ No newline at end of file diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml new file mode 100644 index 0000000..623860f --- /dev/null +++ b/.github/workflows/TagBot.yml @@ -0,0 +1,15 @@ +name: TagBot +on: + issue_comment: + types: + - created + workflow_dispatch: +jobs: + TagBot: + if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' + runs-on: ubuntu-latest + steps: + - uses: JuliaRegistries/TagBot@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + ssh: ${{ secrets.DOCUMENTER_KEY }} \ No newline at end of file