Skip to content

Rpm Nightly CI

Rpm Nightly CI #37

Workflow file for this run

# WARNING: DO NOT EDIT!
#
# This file was generated by plugin_template, and is managed by it. Please use
# './plugin-template --github pulp_rpm' to update this file.
#
# For more info visit https://github.com/pulp/plugin_template
---
name: "Rpm Nightly CI"
on:
schedule:
# * is a special character in YAML so you have to quote this string
# runs at 3:00 UTC daily
- cron: '00 3 * * *'
workflow_dispatch:
defaults:
run:
working-directory: "pulp_rpm"
concurrency:
group: "${{ github.ref_name }}-${{ github.workflow }}"
cancel-in-progress: true
jobs:
build:
uses: "./.github/workflows/build.yml"
test:
needs: "build"
uses: "./.github/workflows/test.yml"
changelog:
runs-on: ubuntu-latest
steps:
- uses: "actions/checkout@v4"
with:
fetch-depth: 0
path: "pulp_rpm"
- uses: "actions/setup-python@v4"
with:
python-version: "3.11"
- name: "Install python dependencies"
run: |
echo ::group::PYDEPS
pip install gitpython packaging toml
echo ::endgroup::
- name: "Configure Git with pulpbot name and email"
run: |
git config --global user.name 'pulpbot'
git config --global user.email '[email protected]'
- name: Collect changes from all branches
run: python .ci/scripts/collect_changes.py
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.RELEASE_TOKEN }}
title: "Update Changelog"
body: ""
branch: "changelog/update"
delete-branch: true
path: "pulp_rpm"
publish:
runs-on: ubuntu-latest
needs: test
steps:
- uses: "actions/checkout@v4"
with:
fetch-depth: 1
path: "pulp_rpm"
- uses: actions/download-artifact@v3
with:
name: "plugin_package"
path: "pulp_rpm/dist/"
- uses: "actions/setup-python@v4"
with:
python-version: "3.11"
- name: "Install python dependencies"
run: |
echo ::group::PYDEPS
pip install requests 'packaging~=21.3' mkdocs pymdown-extensions 'Jinja2<3.1'
echo ::endgroup::
- name: "Set environment variables"
run: |
echo "TEST=${{ matrix.env.TEST }}" >> $GITHUB_ENV
- name: Download built docs
uses: actions/download-artifact@v3
with:
name: "docs.tar"
path: "pulp_rpm"
- name: Download Python client docs
uses: actions/download-artifact@v3
with:
name: "python-client-docs.tar"
path: "pulp_rpm"
- name: "Setting secrets"
run: |
python3 .github/workflows/scripts/secrets.py "$SECRETS_CONTEXT"
env:
SECRETS_CONTEXT: "${{ toJson(secrets) }}"
- name: Publish docs to pulpproject.org
run: |
tar -xvf docs.tar -C ./docs
.github/workflows/scripts/publish_docs.sh nightly ${GITHUB_REF##*/}
performance:
runs-on: ubuntu-latest
needs: test
strategy:
fail-fast: false
matrix:
env:
- TEST: performance
PERFORMANCE_TEST: sync
- TEST: performance
PERFORMANCE_TEST: publish
- TEST: performance
PERFORMANCE_TEST: pulp_to_pulp
steps:
- uses: "actions/checkout@v4"
with:
fetch-depth: 1
path: "pulp_rpm"
- uses: "actions/checkout@v4"
with:
fetch-depth: 1
repository: "pulp/pulp-openapi-generator"
path: "pulp-openapi-generator"
- uses: actions/download-artifact@v3
with:
name: "plugin_package"
path: "pulp_rpm/dist/"
- uses: "actions/setup-python@v4"
with:
python-version: "3.11"
- name: "Set environment variables"
run: |
echo "TEST=${{ matrix.env.TEST }}" >> $GITHUB_ENV
echo "PERFORMANCE_TEST=${{ matrix.env.PERFORMANCE_TEST }}" >> $GITHUB_ENV
- name: "Install python dependencies"
run: |
echo ::group::PYDEPS
pip install towncrier twine wheel httpie docker netaddr boto3 ansible mkdocs
echo "HTTPIE_CONFIG_DIR=$GITHUB_WORKSPACE/pulp_rpm/.ci/assets/httpie/" >> $GITHUB_ENV
echo ::endgroup::
- name: "Before Install"
run: |
.github/workflows/scripts/before_install.sh
shell: "bash"
env:
PY_COLORS: "1"
ANSIBLE_FORCE_COLOR: "1"
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
GITHUB_CONTEXT: "${{ github.event.pull_request.commits_url }}"
- name: "Install"
run: |
.github/workflows/scripts/install.sh
shell: "bash"
env:
PY_COLORS: "1"
ANSIBLE_FORCE_COLOR: "1"
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
GITHUB_CONTEXT: "${{ github.event.pull_request.commits_url }}"
- name: "Install Python client"
run: |
.github/workflows/scripts/install_python_client.sh
shell: "bash"
- name: "Before Script"
run: |
.github/workflows/scripts/before_script.sh
shell: "bash"
env:
PY_COLORS: "1"
ANSIBLE_FORCE_COLOR: "1"
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
GITHUB_CONTEXT: "${{ github.event.pull_request.commits_url }}"
REDIS_DISABLED: "${{ contains('', matrix.env.TEST) }}"
- name: "Performance Test"
run: |
.github/workflows/scripts/script.sh
shell: "bash"
env:
PY_COLORS: "1"
ANSIBLE_FORCE_COLOR: "1"
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
GITHUB_CONTEXT: "${{ github.event.pull_request.commits_url }}"
- name: "Logs"
if: always()
run: |
echo "Need to debug? Please check: https://github.com/marketplace/actions/debugging-with-tmate"
http --timeout 30 --check-status --pretty format --print hb "https://pulp${PULP_API_ROOT}api/v3/status/" || true
docker images || true
docker ps -a || true
docker logs pulp || true
docker exec pulp ls -latr /etc/yum.repos.d/ || true
docker exec pulp cat /etc/yum.repos.d/* || true
docker exec pulp bash -c "pip3 list && pip3 install pipdeptree && pipdeptree"