Skip to content

Commit

Permalink
Update CI files
Browse files Browse the repository at this point in the history
[noissue]
  • Loading branch information
pulpbot committed Nov 30, 2023
1 parent d4265b7 commit 6c1d604
Show file tree
Hide file tree
Showing 8 changed files with 217 additions and 90 deletions.
1 change: 0 additions & 1 deletion .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
# For more info visit https://github.com/pulp/plugin_template
[flake8]
exclude = ./docs/*,*/migrations/*,./pulpcore/app/protobuf/*

per-file-ignores = */__init__.py: F401

ignore = E203,W503,Q000,Q003,D100,D104,D106,D200,D205,D400,D401,D402
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,13 @@ jobs:
- name: "Install python dependencies"
run: |
echo ::group::PYDEPS
pip install packaging wheel
pip install packaging twine wheel
echo ::endgroup::
- name: "Build package"
run: "python3 setup.py sdist bdist_wheel --python-tag py3"
- name: 'Upload Package whl'
run: |
python3 setup.py sdist bdist_wheel --python-tag py3
twine check dist/*
- name: "Upload Package whl"
uses: "actions/upload-artifact@v3"
with:
name: "plugin_package"
Expand Down
237 changes: 180 additions & 57 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,29 +51,38 @@ jobs:
env:
SECRETS_CONTEXT: "${{ toJson(secrets) }}"

- name: Create the release commit, tag it, create a post-release commit, and build plugin package
run: python .github/workflows/scripts/release.py ${{ github.event.inputs.release }}
- name: "Create the release commit, tag it, create a post-release commit, and build plugin package"
run: |
python .github/workflows/scripts/release.py ${{ github.event.inputs.release }}
- name: "Upload Package whl"
uses: "actions/upload-artifact@v3"
with:
name: "plugin_package"
path: "pulpcore/dist/"
if-no-files-found: "error"

- name: "Tar files"
run: |
tar -cvf pulpcore.tar .
- name: "Upload Artifact"
uses: actions/upload-artifact@v3
uses: "actions/upload-artifact@v3"
with:
name: "pulpcore.tar"
path: "pulpcore/pulpcore.tar"


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

steps:
- uses: actions/download-artifact@v3
- uses: "actions/download-artifact@v3"
with:
name: "pulpcore.tar"
path: "pulpcore/"
Expand Down Expand Up @@ -114,16 +123,15 @@ jobs:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
GITHUB_CONTEXT: "${{ github.event.pull_request.commits_url }}"

- name: Install
- name: "Install"
run: |
export PLUGIN_VERSION=${{ github.event.inputs.release }}
.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 }}"
shell: bash

- name: "Install Python client"
run: |
Expand All @@ -134,20 +142,20 @@ jobs:
.github/workflows/scripts/install_ruby_client.sh
shell: "bash"
- name: "Upload python client packages"
uses: actions/upload-artifact@v3
uses: "actions/upload-artifact@v3"
with:
name: "python-client.tar"
path: "pulpcore/core-python-client.tar"
if-no-files-found: "error"

- name: "Upload python client docs"
uses: actions/upload-artifact@v3
uses: "actions/upload-artifact@v3"
with:
name: "python-client-docs.tar"
path: "pulpcore/core-python-client-docs.tar"
if-no-files-found: "error"
- name: "Upload ruby client packages"
uses: actions/upload-artifact@v3
uses: "actions/upload-artifact@v3"
with:
name: "ruby-client.tar"
path: "pulpcore/core-ruby-client.tar"
Expand Down Expand Up @@ -178,71 +186,87 @@ jobs:
docker exec pulp bash -c "pip3 list && pip3 install pipdeptree && pipdeptree"
publish:
runs-on: ubuntu-latest
needs: build-bindings-docs
publish-tag:
runs-on: "ubuntu-latest"
needs:
- "build-bindings-docs"

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

steps:
- uses: actions/download-artifact@v3
- uses: "actions/download-artifact@v3"
with:
name: "pulpcore.tar"
path: "pulpcore/"

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

- uses: ruby/setup-ruby@v1
with:
ruby-version: "2.6"
- name: "Untar repository"
run: |
tar -xf pulpcore.tar
- name: "Configure Git with pulpbot name and email"
run: |
git config --global user.name 'pulpbot'
git config --global user.email '[email protected]'
- name: Untar repository
- name: "Push branch and tag to GitHub"
run: |
tar -xf pulpcore.tar
bash .github/workflows/scripts/push_branch_and_tag_to_github.sh ${{ github.event.inputs.release }}
publish-package:
runs-on: "ubuntu-latest"
needs:
- "build-bindings-docs"
- "publish-tag"

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

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

- uses: "actions/download-artifact@v3"
with:
name: "plugin_package"
path: "pulpcore/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: "Install python dependencies"
- name: "Deploy plugin to pypi"
run: |
echo ::group::PYDEPS
pip install twine gitpython requests 'packaging~=21.3' mkdocs pymdown-extensions 'Jinja2<3.1'
echo ::endgroup::
- name: Push branch and tag to GitHub
run: bash .github/workflows/scripts/push_branch_and_tag_to_github.sh ${{ github.event.inputs.release }}
- name: "Download built docs"
uses: actions/download-artifact@v3
with:
name: "docs.tar"
path: "pulpcore/"
.github/workflows/scripts/publish_plugin_pypi.sh ${{ github.event.inputs.release }}
publish-python-bindings:
runs-on: "ubuntu-latest"
needs:
- "build-bindings-docs"
- "publish-tag"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

- name: "Download Python client docs"
uses: actions/download-artifact@v3
steps:
- uses: "actions/checkout@v4"
with:
name: "python-client-docs.tar"
path: "pulpcore/"
fetch-depth: 1
path: "pulpcore"

- name: Publish docs to pulpproject.org
run: |
tar -xvf docs.tar
.github/workflows/scripts/publish_docs.sh tag ${{ github.event.inputs.release }}
- name: Deploy plugin to pypi
run: bash .github/workflows/scripts/publish_plugin_pypi.sh ${{ github.event.inputs.release }}
- name: "Download Python client"
uses: actions/download-artifact@v3
uses: "actions/download-artifact@v3"
with:
name: "python-client.tar"
path: "pulpcore/"
Expand All @@ -251,11 +275,42 @@ jobs:
run: |
tar -xvf core-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
bash .github/workflows/scripts/publish_client_pypi.sh ${{ github.event.inputs.release }}
publish-ruby-bindings:
runs-on: "ubuntu-latest"
needs:
- "build-bindings-docs"
- "publish-tag"

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

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

- name: "Download Ruby client"
uses: actions/download-artifact@v3
uses: "actions/download-artifact@v3"
with:
name: "ruby-client.tar"
path: "pulpcore/"
Expand All @@ -264,14 +319,82 @@ jobs:
run: |
tar -xvf core-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
bash .github/workflows/scripts/publish_client_gem.sh ${{ github.event.inputs.release }}
publish-docs:
runs-on: "ubuntu-latest"
needs:
- "build-bindings-docs"
- "publish-tag"

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

- name: Create release on GitHub
uses: actions/github-script@v7
steps:
- uses: "actions/checkout@v4"
with:
fetch-depth: 1
path: "pulpcore"

- 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: "pulpcore/"

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

- name: "Publish docs to pulpproject.org"
run: |
tar -xvf docs.tar
.github/workflows/scripts/publish_docs.sh tag ${{ github.event.inputs.release }}
create-gh-release:
runs-on: "ubuntu-latest"
needs:
- "build-bindings-docs"
- "publish-tag"
- "publish-package"
- "publish-python-bindings"
- "publish-ruby-bindings"
- "publish-docs"

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

0 comments on commit 6c1d604

Please sign in to comment.