Skip to content
Closed
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
10d2269
adding svn validations basic flow
gopidesupavan Dec 1, 2024
f77a114
update names
gopidesupavan Dec 1, 2024
164a1d1
remove echo
gopidesupavan Dec 1, 2024
ca41ee7
update tests
gopidesupavan Dec 1, 2024
add8003
adding signature check
gopidesupavan Dec 1, 2024
9c8703a
fix workspace name
gopidesupavan Dec 1, 2024
bb946f5
adding subsection actions
gopidesupavan Dec 7, 2024
0779890
add unit tests for svn check
gopidesupavan Dec 7, 2024
94b2215
add unit tests to check-sum
gopidesupavan Dec 7, 2024
7eea894
add pypi publish and tests
gopidesupavan Dec 8, 2024
bf17e47
update variables
gopidesupavan Dec 8, 2024
9db2dc5
update paths
gopidesupavan Dec 8, 2024
c43752f
update repo path
gopidesupavan Dec 8, 2024
b9d3465
add initial readme file
gopidesupavan Dec 8, 2024
cce1d2f
add tests to signature check
gopidesupavan Dec 9, 2024
d180e37
add python-gnupg module to tests
gopidesupavan Dec 9, 2024
45e96b9
add requests module to tests
gopidesupavan Dec 9, 2024
03e48d6
use pytest-unordered
gopidesupavan Dec 9, 2024
8025fa5
use pytest-unordered
gopidesupavan Dec 9, 2024
6e1ec93
log updates
gopidesupavan Dec 9, 2024
481a1b6
adding doc string and fixing lints
gopidesupavan Dec 9, 2024
1edb0d4
remove fromjson for non json outputs
gopidesupavan Dec 10, 2024
6883637
update sample workflow usage as per best practice suggestion
gopidesupavan Dec 10, 2024
0259bcf
update sample workflow usage as per best practice suggestion
gopidesupavan Dec 10, 2024
5af7723
rename action
gopidesupavan Dec 12, 2024
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
21 changes: 21 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Test actions scripts
on:
workflow_dispatch:
pull_request:
branches:
- main
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: "Run tests"
run: |
python3 -m pip install uv pytest rich python-gnupg requests pytest-unordered
uv run pytest -vv
106 changes: 106 additions & 0 deletions .github/workflows/test-actions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
name: Tes gh-svn-pypi-publisher
description: "Publish to PyPI"

on:
workflow_dispatch:
inputs:
release-config:
description: "Path to the release config file"
required: true
default: "release-config.yml"
temp-dir:
description: >
Checkout directory of svn repo, this is used to checkout the svn repo.
required: false
default: "asf-dist"
mode:
description: "Mode to run the action"
required: false
default: "VERIFY"

jobs:
release-checks:
outputs:
publisher-name: ${{ steps.config-parser.outputs.publisher-name }}
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
persist-credentials: false

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: "3.11"

- name: "Config parser"
id: config-parser
uses: ./read-config
with:
release-config: ${{ inputs.release-config }}

- name: "Checkout svn ${{ steps.config-parser.outputs.publisher-url }}"
id: "svn-checkout"
uses: ./init
with:
temp-dir: ${{ inputs.temp-dir }}
repo-url: ${{ steps.config-parser.outputs.publisher-url }}
repo-path: ${{ steps.config-parser.outputs.publisher-path }}

- name: "Svn check"
id: "svn-check"
uses: ./svn
with:
svn-config: ${{ steps.config-parser.outputs.checks-svn }}
temp-dir: ${{ inputs.temp-dir }}
repo-path: ${{ steps.config-parser.outputs.publisher-path }}

- name: "Checksum check"
id: "checksum-check"
uses: ./checksum
with:
checksum-config: ${{ steps.config-parser.outputs.checks-checksum }}
temp-dir: ${{ inputs.temp-dir }}
repo-path: ${{ steps.config-parser.outputs.publisher-path }}

- name: "Signature check"
id: "signature-check"
uses: ./signature
with:
signature-config: ${{ steps.config-parser.outputs.checks-signature }}
temp-dir: ${{ inputs.temp-dir }}
repo-path: ${{ steps.config-parser.outputs.publisher-path }}

- name: "Find ${{ steps.config-parser.outputs.publisher-name }} packages"
id: "publish-to-pypi"
uses: ./publish
with:
publish-config: ${{ steps.config-parser.outputs.checks-publish }}
temp-dir: ${{ inputs.temp-dir }}
mode: ${{ inputs.mode }}
publisher-name: ${{ steps.config-parser.outputs.publisher-name }}
repo-path: ${{ steps.config-parser.outputs.publisher-path }}

publish-to-pypi:
name: Publish svn packages to PyPI
runs-on: ubuntu-latest
needs:
- release-checks
environment:
name: test
permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing

steps:
- name: "Download release distributions for ${{ needs.release-checks.outputs.publisher-name }}"
uses: actions/download-artifact@v4
with:
merge-multiple: true
path: ./dist

- name: "Publishing ${{ needs.release-checks.outputs.publisher-name }} to PyPI"
uses: pypa/gh-action-pypi-publish@release/v1
if: inputs.mode == 'RELEASE'
with:
packages-dir: "./dist"
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
__pycache__/
*./__pycache__/.*
Loading
Loading