Skip to content

Unit test smoke test #584

Unit test smoke test

Unit test smoke test #584

Workflow file for this run

# This workflow will run daily at 06:45.
# It will install Python dependencies and run tests with a variety of Python versions.
# See documentation for help debugging smoke test issues:
# https://lincc-ppt.readthedocs.io/en/latest/practices/ci_testing.html#version-culprit
name: Unit test smoke test
on:
# Runs this workflow automatically
schedule:
- cron: 45 6 * * *
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13']
cloud: ['local_s3', 'local_gcs', 'http']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
sudo apt-get update
python -m pip install --upgrade pip
pip install -e .[dev]
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: List dependencies
run: |
pip list
- name: Run local s3 with pytest
if: matrix.cloud == 'local_s3'
run: |
python -m pytest tests --cloud local_s3
- name: Run local http with pytest
if: matrix.cloud == 'http'
run: |
python -m pytest tests --cloud http
- name: Setup GCS emulator
if: matrix.cloud == 'local_gcs'
uses: fsouza/[email protected]
with:
version: "1.37.2"
data: tests/cloud
public-host: "0.0.0.0:4443"
external-url: "http://localhost:4443"
scheme: http
- name: Run local GCS (google cloud) with pytest
if: matrix.cloud == 'local_gcs'
run: |
python -m pytest tests --cloud local_gcs # - name: Run ABFS unit tests with pytest
# run: |
# python -m pytest tests --cloud abfs
# env:
# ABFS_LINCCDATA_ACCOUNT_NAME: ${{ secrets.LINCC_ABFS_ACCOUNT_NAME }}
# ABFS_LINCCDATA_ACCOUNT_KEY: ${{ secrets.LINCC_ABFS_ACCOUNT_KEY }}
- name: Send status to Slack app (LSDB CI Reporter)
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
id: slack
uses: slackapi/slack-github-action@v2
with:
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
webhook-type: webhook-trigger
# For posting a rich message using Block Kit
payload: |
{
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "HATS Cloud tests: ${{ matrix.python-version }} - ${{ matrix.cloud }}"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "GitHub Action build result: *${{ job.status }}* :${{ job.status }}:"
}
},
{
"type": "divider"
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
}
}
]
}