Skip to content

chore(deps): lock file maintenance #861

chore(deps): lock file maintenance

chore(deps): lock file maintenance #861

Workflow file for this run

---
name: test
permissions:
contents: read
on:
push:
branches-ignore:
- "coverage"
- "renovate/**"
pull_request:
workflow_dispatch:
inputs:
main_branch:
description: "Main branch for coverage/tmate."
type: string
required: false
default: "main"
main_os:
description: "Main os for coverage/tmate."
type: choice
default: "macos-latest"
options:
- "macos-latest"
- "ubuntu-latest"
main_py_ver:
description: "Main python version for coverage/tmate."
type: choice
default: "3.9"
options:
- "3.12"
- "3.11"
- "3.10"
- "3.9"
tmate:
type: boolean
description: "Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate). This is only for main strategy and others will be stopped."
required: false
default: false
env:
MAIN_BRANCH: ${{ inputs.main_branch || 'main' }}
MAIN_OS: ${{ inputs.main_os || 'macos-latest' }}
MAIN_PY_VER: ${{ inputs.main_py_ver || '3.9' }}
TMATE: ${{ inputs.tmate || 'false' }}
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
install:
strategy:
matrix:
os: [macos-latest, ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Exit workflow
if: ${{ github.event_name == 'workflow_dispatch' && env.tmate == 'true' }}
run: exit 1
- name: Install test
run: |
curl -o install.sh -fsSL https://raw.github.com/rcmdnk/homebrew-file/install/install.sh
chmod 755 ./install.sh
./install.sh
rm -f install.sh
formula:
strategy:
matrix:
os: [macos-latest, ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Exit workflow
if: ${{ github.event_name == 'workflow_dispatch' && env.tmate == 'true' }}
run: exit 1
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
with:
test-bot: false
- name: Install homebrew-file
run: brew install brew-file
test:
permissions:
contents: write
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest]
python-version: ['3.13', '3.12', '3.11', '3.10', '3.9']
runs-on: ${{ matrix.os }}
steps:
- name: Check is main
id: is_main
run: |
if [ "${{ github.ref }}" = "refs/heads/${{ env.MAIN_BRANCH }}" ] && [ "${{ matrix.os }}" = "${{ env.MAIN_OS }}" ] && [ "${{ matrix.python-version }}" = "${{ env.MAIN_PY_VER }}" ];then
echo "IS_MAIN=1" >> "$GITHUB_ENV"
is_main=1
else
echo "IS_MAIN=0" >> "$GITHUB_ENV"
is_main=0
fi
if [ "${{ env.TMATE }}" = "true" ];then
if [ "$is_main" = 0 ];then
echo "Tmate is enabled and this is not main, skip tests"
exit 1
fi
echo "DEBUG=1" >> "$GITHUB_ENV"
else
echo "DEBUG=0" >> "$GITHUB_ENV"
fi
- uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0
- name: Setup Homebrew
uses: ./.github/actions/setup-homebrew
- name: Set pseudo git user
run: |
git config --global user.name "runner"
git config --global user.email "runner@localhost"
- uses: rcmdnk/python-action@v3
with:
checkout: 0
setup-python: 1
python-version: "${{ matrix.python-version }}"
setup-type: 'uv'
pytest: 1
pytest-tests-path: 'tests/'
pytest-ignore: ''
pytest-separate-benchmark: 0
coverage: 1
pytest-cov-path: "bin"
coverage-push: "${{ env.IS_MAIN }}"
coverage-push-condition: "branch=${{ env.MAIN_BRANCH }}, os=${{ env.MAIN_OS }}, python_version=${{ env.MAIN_PY_VER }}"
github_token: "${{github.token}}"
pre-commit: "${{ env.IS_MAIN }}"
tmate: "${{ env.DEBUG }}"
test-destructive:
strategy:
fail-fast: false
matrix:
python-version: ['3.9']
pytest-group:
- destructive_init
- destructive_install_clean_default
- destructive_install_clean_on_request
- destructive_install_clean_leaves
- destructive_install_clean_top_packages
- destructive_get_info
- destructive_cursor
- destructive_brew_command
- destructive_main_file_inheritance
- destructive_get_tap_packs
- destructive_get_leaves
- destructive_update
- destructive_dry_run
- destructive_get_full_name
- destructive_format_options
- destructive_others
#os: [macos-latest, ubuntu-latest]
os: [macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0
- uses: ./.github/actions/setup-homebrew
with:
pristine: true
update: true
- name: Set pseudo git user
run: |
git config --global user.name "runner"
git config --global user.email "runner@localhost"
- uses: rcmdnk/python-action@v3
with:
checkout: 0
setup-python: 1
python-version: "${{ matrix.python-version }}"
setup-type: 'uv'
pytest: 1
pytest-tests-path: "tests/test_destructive.py"
pytest-ignore: ''
pytest-separate-benchmark: 0
coverage: 1
pytest-cov-path: "bin"
pytest-opt: "-n0 -m 'destructive and ${{ matrix.pytest-group }}'"
coverage-push: 0
github_token: ""
pre-commit: 0
tmate: 0