mirror of
https://github.com/pyscript/pyscript.git
synced 2025-12-19 18:27:29 -05:00
Add testing to CI flow (#418)
* new testing ci flow * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * install conda * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * test conda * pre-commit fix * remove if * makefile fix * fix pytest install * argument for test * restructure * fix sync * full path filter * use setup-condav2 * syntax * test path * add binary argument * remove which * Update Makefile * remove arguments * trigger CI Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
32
.github/workflows/build-alpha.yml
vendored
32
.github/workflows/build-alpha.yml
vendored
@@ -7,47 +7,65 @@ on:
|
||||
paths:
|
||||
- pyscriptjs/**
|
||||
|
||||
env:
|
||||
MINICONDA_PYTHON_VERSION: py38
|
||||
MINICONDA_VERSION: 4.11.0
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: pyscriptjs
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
defaults:
|
||||
run:
|
||||
working-directory: pyscriptjs
|
||||
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18.x
|
||||
|
||||
- name: Cache node modules
|
||||
uses: actions/cache@v3
|
||||
env:
|
||||
cache-name: cache-node-modules
|
||||
with:
|
||||
# npm cache files are stored in `~/.npm` on Linux/macOS
|
||||
# npm cache files are stored in `~/.npm` on Linux/macOS
|
||||
path: ~/.npm
|
||||
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-build-${{ env.cache-name }}-
|
||||
${{ runner.os }}-build-
|
||||
${{ runner.os }}-
|
||||
|
||||
- name: setup Miniconda
|
||||
uses: conda-incubator/setup-miniconda@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
npm install
|
||||
make setup
|
||||
|
||||
- name: Test pyscript
|
||||
run: make test
|
||||
|
||||
- name: Build pyscript
|
||||
run: |
|
||||
npm run build
|
||||
run: make build
|
||||
|
||||
# Deploy to S3
|
||||
- name: Configure AWS credentials
|
||||
if: github.ref == 'refs/heads/main' # Only deploy on merge into main
|
||||
uses: aws-actions/configure-aws-credentials@v1.6.1
|
||||
with:
|
||||
aws-region: ${{secrets.AWS_REGION}}
|
||||
role-to-assume: ${{ secrets.AWS_OIDC_RUNNER_ROLE }}
|
||||
|
||||
- name: Sync to S3
|
||||
if: github.ref == 'refs/heads/main'
|
||||
run: aws s3 sync --quiet ./examples/build/ s3://pyscript.net/alpha/
|
||||
|
||||
28
.github/workflows/build-latest.yml
vendored
28
.github/workflows/build-latest.yml
vendored
@@ -15,23 +15,30 @@ on:
|
||||
- pyscriptjs/**
|
||||
- .github/workflows/build-latest.yml # Test that workflow works when changed
|
||||
|
||||
env:
|
||||
MINICONDA_PYTHON_VERSION: py38
|
||||
MINICONDA_VERSION: 4.11.0
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: pyscriptjs
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
defaults:
|
||||
run:
|
||||
working-directory: pyscriptjs
|
||||
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18.x
|
||||
|
||||
- name: Cache node modules
|
||||
uses: actions/cache@v3
|
||||
env:
|
||||
@@ -44,12 +51,20 @@ jobs:
|
||||
${{ runner.os }}-build-${{ env.cache-name }}-
|
||||
${{ runner.os }}-build-
|
||||
${{ runner.os }}-
|
||||
|
||||
- name: setup Miniconda
|
||||
uses: conda-incubator/setup-miniconda@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
npm install
|
||||
make setup
|
||||
|
||||
- name: Test pyscript
|
||||
run: make test
|
||||
|
||||
- name: Build pyscript
|
||||
run: |
|
||||
npm run build
|
||||
run: make build
|
||||
|
||||
# Deploy to S3
|
||||
- name: Configure AWS credentials
|
||||
@@ -58,6 +73,7 @@ jobs:
|
||||
with:
|
||||
aws-region: ${{secrets.AWS_REGION}}
|
||||
role-to-assume: ${{ secrets.AWS_OIDC_RUNNER_ROLE }}
|
||||
|
||||
- name: Sync to S3
|
||||
if: github.ref == 'refs/heads/main'
|
||||
run: aws s3 sync --quiet ./examples/build/ s3://pyscript.net/unstable
|
||||
|
||||
2
.github/workflows/docs-latest.yml
vendored
2
.github/workflows/docs-latest.yml
vendored
@@ -4,6 +4,8 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- docs/**
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
2
.github/workflows/docs-release.yml
vendored
2
.github/workflows/docs-release.yml
vendored
@@ -4,6 +4,8 @@ on:
|
||||
# Any time a tag or branch is created
|
||||
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#create
|
||||
create:
|
||||
paths:
|
||||
- docs/**
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
2
.github/workflows/docs-review.yml
vendored
2
.github/workflows/docs-review.yml
vendored
@@ -4,6 +4,8 @@ on:
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
paths:
|
||||
- docs/**
|
||||
|
||||
concurrency:
|
||||
# Concurrency group that uses the workflow name and PR number if available
|
||||
|
||||
@@ -6,14 +6,15 @@ src_dir ?= $(base_dir)/src
|
||||
examples ?= $(base_dir)/examples
|
||||
app_dir ?= $(shell git rev-parse --show-prefix)
|
||||
|
||||
CONDA_EXE := conda
|
||||
CONDA_ENV ?= ./env
|
||||
env := $(CONDA_ENV)
|
||||
conda_run := conda run -p $(env)
|
||||
conda_run := $(CONDA_EXE) run -p $(env)
|
||||
|
||||
setup:
|
||||
@if [ -z "$${CONDA_SHLVL:+x}" ]; then echo "Conda is not installed." && exit 1; fi
|
||||
$(CONDA_EXE) env $(shell [ -d $(env) ] && echo update || echo create) -p $(env) --file environment.yml
|
||||
$(conda_run) playwright install
|
||||
$(CONDA_EXE) install -c anaconda pytest
|
||||
|
||||
clean:
|
||||
find . -name \*.py[cod] -delete
|
||||
|
||||
Reference in New Issue
Block a user