Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CI files for branch 2.9 #1465

Merged
merged 1 commit into from
Jan 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/template_gitref
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2021.08.26-301-g83f0607
2021.08.26-304-gc53c1e3
322 changes: 322 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,322 @@
# WARNING: DO NOT EDIT!
#
# This file was generated by plugin_template, and is managed by it. Please use
# './plugin-template --github pulp_container' to update this file.
#
# For more info visit https://github.com/pulp/plugin_template

---
name: "Container Publish Release"
on:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]"

defaults:
run:
working-directory: "pulp_container"

jobs:
build:
uses: "./.github/workflows/build.yml"

build-bindings-docs:
needs:
- "build-artifacts"
runs-on: "ubuntu-latest"
# Install scripts expect TEST to be set, 'docs' is most appropriate even though we don't run tests
env:
TEST: "docs"
steps:
- uses: "actions/checkout@v4"
with:
fetch-depth: 1
path: "pulp_container"

- uses: "actions/checkout@v4"
with:
fetch-depth: 1
repository: "pulp/pulp-openapi-generator"
path: "pulp-openapi-generator"

- uses: "actions/setup-python@v4"
with:
python-version: "3.8"

- uses: "actions/download-artifact@v3"
with:
name: "plugin_package"
path: "pulp_container/dist/"
- uses: ruby/setup-ruby@v1
with:
ruby-version: "2.6"

- 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_container/.ci/assets/httpie/" >> $GITHUB_ENV
echo ::endgroup::

# Building the bindings and docs requires accessing the OpenAPI specs endpoint, so we need to
# setup the Pulp instance.
- 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: "Install Ruby client"
run: |
.github/workflows/scripts/install_ruby_client.sh
shell: "bash"
- name: "Upload python client packages"
uses: "actions/upload-artifact@v3"
with:
name: "python-client.tar"
path: "pulp_container/container-python-client.tar"
if-no-files-found: "error"

- name: "Upload python client docs"
uses: "actions/upload-artifact@v3"
with:
name: "python-client-docs.tar"
path: "pulp_container/container-python-client-docs.tar"
if-no-files-found: "error"
- name: "Upload ruby client packages"
uses: "actions/upload-artifact@v3"
with:
name: "ruby-client.tar"
path: "pulp_container/container-ruby-client.tar"
if-no-files-found: "error"
- name: Build docs
run: |
export DJANGO_SETTINGS_MODULE=pulpcore.app.settings
export PULP_SETTINGS=$PWD/.ci/ansible/settings/settings.py
make -C docs/ PULP_URL="https://pulp" diagrams html
tar -cvf docs/docs.tar docs/_build

- name: "Upload built docs"
uses: actions/upload-artifact@v3
with:
name: "docs.tar"
path: "pulp_container/docs/docs.tar"

- 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"
publish-package:
runs-on: "ubuntu-latest"
needs:
- "build-bindings-docs"

env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

steps:
- uses: "actions/checkout@v4"
with:
fetch-depth: 1
path: "pulp_container"

- uses: "actions/download-artifact@v3"
with:
name: "plugin_package"
path: "pulp_container/dist/"

- uses: "actions/setup-python@v4"
with:
python-version: "3.8"

- name: "Install python dependencies"
run: |
echo ::group::PYDEPS
pip install twine
echo ::endgroup::

- name: "Setting secrets"
run: |
python3 .github/workflows/scripts/secrets.py "$SECRETS_CONTEXT"
env:
SECRETS_CONTEXT: "${{ toJson(secrets) }}"

- name: "Deploy plugin to pypi"
run: |
.github/workflows/scripts/publish_plugin_pypi.sh ${{ github.ref_name }}
publish-python-bindings:
runs-on: "ubuntu-latest"
needs:
- "build-bindings-docs"

env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

steps:
- uses: "actions/checkout@v4"
with:
fetch-depth: 1
path: "pulp_container"

- name: "Download Python client"
uses: "actions/download-artifact@v3"
with:
name: "python-client.tar"
path: "pulp_container/"

- name: "Untar python client packages"
run: |
tar -xvf container-python-client.tar

- uses: "actions/setup-python@v4"
with:
python-version: "3.8"

- name: "Install python dependencies"
run: |
echo ::group::PYDEPS
pip install twine
echo ::endgroup::

- name: "Setting secrets"
run: |
python3 .github/workflows/scripts/secrets.py "$SECRETS_CONTEXT"
env:
SECRETS_CONTEXT: "${{ toJson(secrets) }}"

- name: "Publish client to pypi"
run: |
bash .github/workflows/scripts/publish_client_pypi.sh ${{ github.ref_name }}
publish-ruby-bindings:
runs-on: "ubuntu-latest"
needs:
- "build-bindings-docs"

env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

steps:
- uses: "actions/checkout@v4"
with:
fetch-depth: 1
path: "pulp_container"

- name: "Download Ruby client"
uses: "actions/download-artifact@v3"
with:
name: "ruby-client.tar"
path: "pulp_container/"

- name: "Untar Ruby client packages"
run: |
tar -xvf container-ruby-client.tar

- uses: ruby/setup-ruby@v1
with:
ruby-version: "2.6"

- name: "Setting secrets"
run: |
python3 .github/workflows/scripts/secrets.py "$SECRETS_CONTEXT"
env:
SECRETS_CONTEXT: "${{ toJson(secrets) }}"

- name: "Publish client to rubygems"
run: |
bash .github/workflows/scripts/publish_client_gem.sh ${{ github.ref_name }}
publish-docs:
runs-on: "ubuntu-latest"
needs:
- "build-bindings-docs"

env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

steps:
- uses: "actions/checkout@v4"
with:
fetch-depth: 1
path: "pulp_container"

- uses: "actions/setup-python@v4"
with:
python-version: "3.8"

- name: "Install python dependencies"
run: |
echo ::group::PYDEPS
pip install 'packaging~=21.3' requests
echo ::endgroup::

- name: "Setting secrets"
run: |
python3 .github/workflows/scripts/secrets.py "$SECRETS_CONTEXT"
env:
SECRETS_CONTEXT: "${{ toJson(secrets) }}"

- name: "Download built docs"
uses: "actions/download-artifact@v3"
with:
name: "docs.tar"
path: "pulp_container/"

- name: "Download Python client docs"
uses: "actions/download-artifact@v3"
with:
name: "python-client-docs.tar"
path: "pulp_container/"

- name: "Publish docs to pulpproject.org"
run: |
tar -xvf docs.tar
.github/workflows/scripts/publish_docs.sh tag ${{ github.ref_name }}

create-gh-release:
runs-on: "ubuntu-latest"
needs:
- "build-bindings-docs"
- "publish-package"
- "publish-python-bindings"
- "publish-ruby-bindings"
- "publish-docs"

steps:
- name: "Create release on GitHub"
uses: "actions/github-script@v7"
env:
TAG_NAME: "${{ github.ref_name }}"
with:
script: |
const { TAG_NAME } = process.env;

await github.rest.repos.createRelease({
owner: context.repo.owner,
repo: context.repo.repo,
tag_name: TAG_NAME,
make_latest: "legacy",
});
Loading
Loading