diff --git a/.github/workflows/antivirus.yml b/.github/workflows/antivirus.yml index 30a60eec..d62257da 100644 --- a/.github/workflows/antivirus.yml +++ b/.github/workflows/antivirus.yml @@ -1,14 +1,19 @@ on: pull_request: - types: [assigned, opened, synchronize, reopened, closed] + types: [opened, synchronize, reopened] + +permissions: + contents: read jobs: gitavscan: runs-on: ubuntu-latest name: AV scan steps: - - uses: actions/checkout@v6 - - name: Git AV Scan - uses: djdefi/gitavscan@main - with: - full: "--full" + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + - name: Git AV Scan + uses: djdefi/gitavscan@66a83ba98eca422f37322bc9851fa56195b252f3 # v23 + with: + full: '--full' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 62bc896f..80990a41 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,8 @@ name: Python Package using Conda +permissions: + contents: read + on: push: branches: [main] @@ -22,14 +25,16 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.11", "3.12", "3.13"] + python-version: ["3.13", "3.14"] os: [macOS, ubuntu, Windows] steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: Setup Conda Environment - uses: mamba-org/setup-micromamba@v2.0.4 + uses: mamba-org/setup-micromamba@f457c30a868e4760d3a6fcea5f25dc655b8edf39 # v3.2.1 with: environment-file: ./continuous_integration/environment_actions.yml init-shell: >- diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 678f88b6..c437c8f2 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -13,18 +13,21 @@ name: "CodeQL" on: push: - branches: ["main"] + branches: [ main ] pull_request: # The branches below must be a subset of the branches above - branches: ["main"] + branches: [ main ] schedule: - - cron: "39 13 * * 2" + - cron: '42 7 * * 5' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: analyze: name: Analyze - runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} - timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} + runs-on: ubuntu-latest permissions: actions: read contents: read @@ -33,44 +36,41 @@ jobs: strategy: fail-fast: false matrix: - language: ["python"] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ] - # Use only 'java' to analyze code written in Java, Kotlin or both - # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both - # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + language: [ 'python' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Learn more about CodeQL language support at https://git.io/codeql-language-support steps: - - name: Checkout repository - uses: actions/checkout@v6 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v4 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. + - name: Checkout repository + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4.39.0 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main - # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v4 + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4.39.0 - # â„šī¸ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh + #- run: | + # make bootstrap + # make release - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v4 - with: - category: "/language:${{matrix.language}}" + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4.39.0 diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 4d1cfca6..949d9767 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -1,5 +1,8 @@ name: Documentation +permissions: + contents: read + on: push: branches: [main] @@ -11,43 +14,60 @@ concurrency: cancel-in-progress: true jobs: - build-and-deploy: + build: + name: Build documentation runs-on: ubuntu-latest defaults: run: - # Ensures environment gets sourced right shell: bash -l {0} strategy: matrix: - PYTHON_VERISON: ["3.13"] + PYTHON_VERSION: ["3.14.9"] steps: - - name: Checkout đŸ›Žī¸ - uses: actions/checkout@v6 + - name: Checkout + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - # setup conda-forge with micromamba - - name: Setup Python - uses: mamba-org/setup-micromamba@v2 + - name: Setup Python environment + uses: mamba-org/setup-micromamba@f457c30a868e4760d3a6fcea5f25dc655b8edf39 # v3.2.1 with: environment-file: continuous_integration/environment_documentation.yml create-args: >- - python=${{ matrix.PYTHON_VERISON }} + python=${{ matrix.PYTHON_VERSION }} environment-name: docs cache-environment: true - - name: Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built. + - name: Build run: | - set -e + set -euo pipefail python -m pip install . --no-deps cd docs make html - - name: Deploy 🚀 - if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - uses: JamesIves/github-pages-deploy-action@v4 + - name: Configure GitHub Pages + uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0 + + - name: Upload GitHub Pages artifact + uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0 with: - TOKEN: ${{ secrets.GITHUB_TOKEN }} - BRANCH: gh-pages # The branch the action should deploy to. - FOLDER: docs # The folder the action should deploy. - CLEAN: true # Automatically remove deleted files from the deploy branch + path: docs/build/html + + deploy: + name: Deploy documentation + needs: build + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/main' && github.event_name == 'push' + permissions: + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + concurrency: + group: github-pages + cancel-in-progress: false + steps: + - name: Deploy to GitHub Pages 🚀 + id: deployment + uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5.0.1 diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml deleted file mode 100644 index 367fd291..00000000 --- a/.github/workflows/pre-commit.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: pre-commit - -on: - pull_request: - push: - branches: [main] - -jobs: - pre-commit: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: actions/setup-python@v6 - - uses: pre-commit/action@v3.0.1 diff --git a/.github/workflows/pypi-release.yml b/.github/workflows/pypi-release.yml index cc7c2ac1..eec303ad 100644 --- a/.github/workflows/pypi-release.yml +++ b/.github/workflows/pypi-release.yml @@ -1,4 +1,8 @@ -name: Build and Upload pythia-datasets to PyPI +name: Build and Upload RadTraQ to PyPI + +permissions: + contents: read + on: release: types: @@ -9,17 +13,18 @@ jobs: runs-on: ubuntu-latest if: github.repository == 'ARM-Development/RadTraQ' steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: + persist-credentials: false fetch-depth: 0 - - uses: actions/setup-python@v6 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 name: Install Python with: - python-version: 3.11 + python-version: 3.14.9 - name: Install dependencies run: | - python -m pip install --upgrade pip + python -m pip install --upgrade "pip>=26.2.2" "certifi>=2026.10.19" python -m pip install setuptools setuptools-scm wheel twine check-manifest - name: Build tarball and wheels run: | @@ -36,7 +41,7 @@ jobs: else echo "✅ Looks good" fi - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: releases path: dist @@ -45,11 +50,11 @@ jobs: needs: build-artifacts runs-on: ubuntu-latest steps: - - uses: actions/setup-python@v6 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 name: Install Python with: - python-version: "3.x" - - uses: actions/download-artifact@v7 + python-version: "3.14.9" + - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 with: name: releases path: dist @@ -62,12 +67,12 @@ jobs: if: github.event_name == 'release' runs-on: ubuntu-latest steps: - - uses: actions/download-artifact@v7 + - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 with: name: releases path: dist - name: Publish package to PyPI - uses: pypa/gh-action-pypi-publish@v1.13.0 + uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086 # v1.14.3 with: user: __token__ password: ${{ secrets.PYPI_TOKEN }} diff --git a/continuous_integration/environment_documentation.yml b/continuous_integration/environment_documentation.yml index ba3918bd..99f0accf 100644 --- a/continuous_integration/environment_documentation.yml +++ b/continuous_integration/environment_documentation.yml @@ -23,5 +23,6 @@ dependencies: - sphinx-gallery - sphinx-rtd-theme - urllib3 + - dask>=2024.12.1 - pip: - git+https://github.com/openradar/open-radar-data diff --git a/radtraq/tests/baseline/test_cloud_mask.png b/radtraq/tests/baseline/test_cloud_mask.png index 0b8fc13f..d0dbc15b 100644 Binary files a/radtraq/tests/baseline/test_cloud_mask.png and b/radtraq/tests/baseline/test_cloud_mask.png differ diff --git a/radtraq/tests/baseline/test_corner_reflector.png b/radtraq/tests/baseline/test_corner_reflector.png index b5c874bb..e7d9d364 100644 Binary files a/radtraq/tests/baseline/test_corner_reflector.png and b/radtraq/tests/baseline/test_corner_reflector.png differ diff --git a/radtraq/tests/baseline/test_plotting.png b/radtraq/tests/baseline/test_plotting.png index 178d5dd9..135566cc 100644 Binary files a/radtraq/tests/baseline/test_plotting.png and b/radtraq/tests/baseline/test_plotting.png differ diff --git a/radtraq/tests/baseline/test_self_consistency.png b/radtraq/tests/baseline/test_self_consistency.png index 5f9e079d..6c1a59c9 100644 Binary files a/radtraq/tests/baseline/test_self_consistency.png and b/radtraq/tests/baseline/test_self_consistency.png differ