kube-stale-resources/.github/workflows/ci.yml

100 lines
2.6 KiB
YAML

name: ci
on:
push:
branches: [master]
pull_request:
branches: [master]
schedule:
- cron: '7 4 * * 4' # weekly on thursday morning
jobs:
build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install poetry
poetry install
- name: Linting
run: |
make lint
e2e-with-kind:
name: e2e with kind
needs: build
runs-on: ubuntu-22.04
strategy:
matrix:
k8s-version:
- v1.22.15
- v1.23.13
- v1.24.7
- v1.25.3
fail-fast: false
env:
kind-version: v0.17.0
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install poetry
poetry install
- name: Set up kind with K8s version ${{ matrix.k8s-version }}
uses: engineerd/setup-kind@v0.5.0
with:
image: kindest/node:${{ matrix.k8s-version }}
version: ${{ env.kind-version }}
- name: E2E test
run: |
kubectl cluster-info
kubectl proxy &
sleep 1
make e2e-with-kind
actionlint:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Check workflow files
run: |
echo "::add-matcher::.github/actionlint-matcher.json"
bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
./actionlint
codeql:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: python
# 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
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2