Skip to content

tests: Fix reset history script #65

tests: Fix reset history script

tests: Fix reset history script #65

Workflow file for this run

name: ci
on:
push:
pull_request:
branches:
- main
defaults:
run:
shell: bash
env:
LANG: "en_US.utf-8"
LC_ALL: "en_US.utf-8"
PYTHONIOENCODING: "UTF-8"
PYTHON_VERSIONS: ""
jobs:
test-filenames:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test file names
run: bash tests/test_filenames.sh
test-licenses:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configure Git
run: |
git config --global init.defaultBranch main
git config --global user.email "[email protected]"
git config --global user.name "Timothée Mazzucotelli"
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install Jinja2
run: pip install jinja2
- name: Test licenses
run: python tests/test_licenses.py
test-project:
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.python-version == '3.13'}}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure Git
run: |
git config --global init.defaultBranch main
git config --global user.email "[email protected]"
git config --global user.name "Timothée Mazzucotelli"
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install Copier and uv
run: pip install copier copier-templates-extensions uv
- name: Test project generation and workflow
run: bash tests/test_project.sh
test-ci:
runs-on: ubuntu-latest
steps:
- name: Generate project, push clean history
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: make reset-history
- name: Wait success of generated project's workflow
run: |
cd tests/tmp || exit 1
while true; do
echo "Waiting 5 seconds..."
sleep 5
echo "Fetching CI workflow..."
if ! output=$(gh run list --repo pawamoy/pawamoy-testing --branch 0.1.1 --limit 1 --workflow "ci.yml" --json status,conclusion); then
continue
fi
status=$(jq -r ".[0].status" <<< "$output")
if [ "${status}" = "completed" ]; then
echo "Workflow completed!"
conclusion=$(jq -r ".[0].conclusion" <<< "$output")
echo "Status: ${conclusion}"
[ "${conclusion}" == "success" ] && break || exit 1
fi
done
echo "Delete all testing releases..."
for tag in $(gh release list --repo pawamoy/pawamoy-testing --json tagName --jq ".[].tagName"); do
gh release delete --repo pawamoy/pawamoy-testing --tag "${tag}" --yes --cleanup-tag
done