Merge branch '3.9' #1126
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
jobs: | |
create_version: | |
runs-on: ubuntu-20.04 | |
name: create version doc | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
fetch-tags: true | |
- name: Set up Python 3.11.5 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11.5" | |
- name: install dunamai | |
run: pip install dunamai | |
- name: print version | |
run: dunamai from git --format "{base}+{branch}.{commit}" --pattern "(?P<base>\d+\.\d+\.((\d+\.\w+)|\w+))" | |
- name: replace_version | |
run: | | |
sed -i -e s/'[^ ]*hardcoded__.*None'/__hardcoded__="\"$(dunamai from git --format "{base}+{branch}.{commit}" --pattern "(?P<base>\d+\.\d+\.((\d+\.\w+)|\w+))")\""/ ofscraper/__version__.py | |
- name: show file | |
run: cat ofscraper/__version__.py | |
- name: upload file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ofscraper_version | |
path: /home/runner/work/OF-Scraper/OF-Scraper/ofscraper/__version__.py | |
# - name: list files 1 | |
# run: ls /home/runner/work/ | |
# - name: list files 2 | |
# run: ls /home/runner/work/OF-Scraper/ | |
# - name: list files 3 | |
# run: ls /home/runner/work/OF-Scraper/OF-Scraper | |
# - name: list files 4 | |
# run: ls /home/runner/work/OF-Scraper/OF-Scraper/ofscraper | |
linux: | |
needs: [create_version] | |
runs-on: ubuntu-20.04 | |
name: create linux release | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: list files | |
run: ls -d $PWD/* | |
- name: list files2 | |
run: ls -d $PWD/ofscraper/* | |
- name: commit | |
uses: pr-mpt/actions-commit-hash@v2 | |
id: commit | |
- name: replace version.py | |
uses: actions/download-artifact@v3 | |
with: | |
name: ofscraper_version | |
path: ofscraper | |
- name: create one file | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: datawhores/ubuntu:latest | |
options: -v ${{ github.workspace }}:/root/work | |
shell: bash | |
run: | | |
cd work | |
rm -rf ./ofscraper/dist | |
rm -rf ./ofscraper/build | |
apt-get install zip libxml2-dev libxslt-dev -y | |
python3.11 -m venv .venv | |
source .venv/bin/activate | |
python3.11 -m pip install pyinstaller==6.4.0 | |
/root/.local/bin/poetry install | |
echo "ls files" | |
ls . | |
echo "test ofscraper" | |
ofscraper -h | |
echo "install run pyinstaller dir" | |
pyinstaller ./ofscraper/__main__.py --name "ofscraper_linux_${{ steps.commit.outputs.short}}" --onefile | |
echo "list files dir" | |
ls dist | |
- name: upload one file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ofscraper_linux | |
path: "dist/ofscraper_linux_${{ steps.commit.outputs.short}}" | |
- name: create zip | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: datawhores/ubuntu:latest | |
options: -v ${{ github.workspace }}:/root/work | |
shell: bash | |
run: | | |
cd work | |
rm -rf ./ofscraper/dist | |
rm -rf ./ofscraper/build | |
apt-get install zip libxml2-dev libxslt-dev -y | |
python3.11 -m venv .venv | |
source .venv/bin/activate | |
python3.11 -m pip install pyinstaller==6.4.0 | |
/root/.local/bin/poetry install | |
echo "ls files" | |
ls . | |
echo "test ofscraper" | |
ofscraper -h | |
echo "run pyinstaller dir" | |
pyinstaller ./ofscraper/__main__.py --name "ofscraper_linux_${{ steps.commit.outputs.short}}" | |
echo "list one dir" | |
ls dist | |
zip -r "dist/ofscraper_linux_${{steps.commit.outputs.short}}.zip" "dist/ofscraper_linux_${{steps.commit.outputs.short}}" | |
- name: upload one file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ofscraper_linux_zip | |
path: "dist/ofscraper_linux_${{ steps.commit.outputs.short}}.zip" | |
windows_dir: | |
needs: [create_version] | |
runs-on: windows-latest | |
name: create windows release dir | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: list files | |
run: ls . | |
- name: list files2 | |
run: ls ofscraper | |
- name: commit | |
uses: pr-mpt/actions-commit-hash@v2 | |
id: commit | |
- name: replace version.py | |
uses: actions/download-artifact@v3 | |
with: | |
name: ofscraper_version | |
path: ofscraper | |
- name: Set up Python 3.11.5 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11.5" | |
- name: install poetry | |
uses: abatilo/actions-poetry@v2 | |
with: | |
poetry-version: 1.4.1 | |
- name: create virtualenv | |
run: python3 -m venv .venv | |
- name: install ofscraper windows | |
run: | | |
.venv\Scripts\activate.bat | |
pip install . | |
.venv\Scripts\deactivate.bat | |
- name: Install pyinstaller | |
run: | | |
.venv\Scripts\activate.bat | |
pip install pyinstaller==6.4.0 | |
.venv\Scripts\deactivate.bat | |
- name: test ofscraper | |
run: | | |
.venv\Scripts\activate.bat | |
ofscraper -h | |
- name: create-dir | |
id: create-dir | |
run: | | |
.venv\Scripts\activate.bat | |
pyinstaller ofscraper\__main__.py --collect-submodules ofscraper --name "ofscraper_windows_${{steps.commit.outputs.short}}" --paths . --clean --log DEBUG | |
continue-on-error: true | |
- name: create-dir2 | |
if: steps.create-dir.outcome != 'success' | |
run: | | |
.venv\Scripts\activate.bat | |
pyinstaller .venv/Scripts/ofscraper --collect-submodules ofscrape --name "ofscraper_windows_${{steps.commit.outputs.short}}" --paths ofscraper --clean --log DEBUG | |
- uses: vimtor/action-zip@v1 | |
with: | |
files: "dist/ofscraper_windows_${{steps.commit.outputs.short}}" | |
dest: "dist/ofscraper_windows_${{steps.commit.outputs.short}}.zip" | |
- name: upload file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ofscraper_windows_zip | |
path: "dist/ofscraper_windows_${{steps.commit.outputs.short}}.zip" | |
windows_file: | |
needs: [create_version] | |
runs-on: windows-latest | |
name: create windows release file | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: list files | |
run: ls . | |
- name: list files2 | |
run: ls ofscraper | |
- name: commit | |
uses: pr-mpt/actions-commit-hash@v2 | |
id: commit | |
- name: replace version.py | |
uses: actions/download-artifact@v3 | |
with: | |
name: ofscraper_version | |
path: ofscraper | |
- name: Set up Python 3.11.5 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11.5" | |
- name: install poetry | |
uses: abatilo/actions-poetry@v2 | |
with: | |
poetry-version: 1.4.1 | |
- name: create virtualenv | |
run: python3 -m venv .venv | |
- name: install ofscraper windows | |
run: | | |
.venv\Scripts\activate.bat | |
pip install . | |
.venv\Scripts\deactivate.bat | |
- name: Install pyinstaller | |
run: | | |
.venv\Scripts\activate.bat | |
pip install pyinstaller==6.4.0 | |
.venv\Scripts\deactivate.bat | |
- name: test ofscraper | |
run: ofscraper -h | |
- name: create-one-file | |
id: create-one-file | |
run: | | |
.venv\Scripts\activate.bat | |
pyinstaller ofscraper\__main__.py --collect-submodules ofscraper --onefile --name "ofscraper_windows_${{ steps.commit.outputs.short}}" -p ofscraper --clean --log DEBUG | |
.venv\Scripts\deactivate.bat | |
continue-on-error: true | |
- name: create-one-file2 | |
if: steps.create-one-file.outcome != 'success' | |
run: | | |
.venv\Scripts\activate.bat | |
pyinstaller .venv/Scripts/ofscraper --onefile --collect-submodules ofscraper --name "ofscraper_windows_${{ steps.commit.outputs.short}}" -p ofscraper --clean --log DEBUG | |
.venv\Scripts\deactivate.bat | |
- name: upload file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ofscraper_windows | |
path: 'dist\ofscraper_windows_${{ steps.commit.outputs.short}}.exe' | |
- uses: vimtor/action-zip@v1 | |
with: | |
files: "dist/ofscraper_windows_${{steps.commit.outputs.short}}" | |
dest: "dist/ofscraper_windows_${{steps.commit.outputs.short}}.zip" | |
- name: upload file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ofscraper_windows_zip | |
path: "dist/ofscraper_windows_${{steps.commit.outputs.short}}.zip" | |
mac: | |
needs: [create_version] | |
runs-on: macos-latest | |
name: create mac release | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: list files | |
run: ls -d $PWD/* | |
- name: list files2 | |
run: ls -d $PWD/ofscraper/* | |
- name: commit | |
uses: pr-mpt/actions-commit-hash@v2 | |
id: commit | |
- name: replace version.py | |
uses: actions/download-artifact@v3 | |
with: | |
name: ofscraper_version | |
path: ofscraper | |
- name: Set up Python 3.11.5 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11.5" | |
- name: create virtualenv | |
run: python3 -m venv .venv | |
- name: install poetry | |
uses: abatilo/actions-poetry@v2 | |
with: | |
poetry-version: 1.4.1 | |
- name: Install package | |
run: | | |
source .venv/bin/activate | |
pip install . -vvv | |
deactivate | |
- name: Install pyinstaller | |
run: | | |
source .venv/bin/activate | |
pip install pyinstaller==6.4.0 | |
deactivate | |
- name: test ofscraper | |
run: | | |
export PATH=$PATH:/usr/local/bin | |
/Users/runner/work/OF-Scraper/OF-Scraper/.venv/bin/ofscraper -h | |
- name: create-one-file | |
id: create-one-file | |
run: | | |
rm -rf dist | |
rm -rf build | |
source .venv/bin/activate | |
export PATH=$PATH:/usr/local/bin | |
pyinstaller /Users/runner/work/OF-Scraper/OF-Scraper/ofscraper/__main__.py --collect-submodules /Users/runner/work/OF-Scraper/OF-Scraper/.venv/bin/ofscraper --onefile --name "ofscraper_macos_${{ steps.commit.outputs.short}}" | |
deactivate | |
continue-on-error: true | |
- name: create-one-file2 | |
id: create-one-file2 | |
if: steps.create-one-file.outcome != 'success' | |
run: | | |
rm -rf dist | |
rm -rf build | |
source .venv/bin/activate | |
poetry run pyinstaller .venv/bin/ofscraper --onefile --name "ofscraper_macos_${{ steps.commit.outputs.short}}" | |
deactivate | |
- name: upload file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ofscraper_macos | |
path: "dist/ofscraper_macos_${{ steps.commit.outputs.short}}" | |
- name: create-dir | |
id: create-dir | |
run: | | |
rm -rf dist | |
rm -rf build | |
source .venv/bin/activate | |
pyinstaller /Users/runner/work/OF-Scraper/OF-Scraper/ofscraper/__main__.py --name "ofscraper_macos_${{ steps.commit.outputs.short}}" | |
deactivate | |
continue-on-error: true | |
- name: create-dir2 | |
id: create-dir2 | |
if: steps.create-dir.outcome != 'success' | |
run: | | |
rm -rf dist | |
rm -rf build | |
source .venv/bin/activate | |
poetry run pyinstaller .venv/bin/ofscraper --name "ofscraper_macos_${{ steps.commit.outputs.short}}" | |
deactivate | |
- uses: vimtor/action-zip@v1 | |
with: | |
files: "dist/ofscraper_macos_${{ steps.commit.outputs.short}}" | |
dest: "dist/ofscraper_macos_${{ steps.commit.outputs.short}}.zip" | |
- name: upload file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ofscraper_macos_zip | |
path: "dist/ofscraper_macos_${{steps.commit.outputs.short}}.zip" | |
publish_release: | |
runs-on: ubuntu-latest | |
name: publish | |
needs: [mac, windows_dir, windows_file, linux] | |
permissions: | |
contents: write | |
steps: | |
- name: Download linux | |
uses: actions/download-artifact@v3 | |
with: | |
name: ofscraper_linux | |
- name: Download linux zip | |
uses: actions/download-artifact@v3 | |
with: | |
name: ofscraper_linux_zip | |
- name: Download mac | |
uses: actions/download-artifact@v3 | |
with: | |
name: ofscraper_macos | |
- name: Download mac zip | |
uses: actions/download-artifact@v3 | |
with: | |
name: ofscraper_macos_zip | |
- name: Download windows | |
uses: actions/download-artifact@v3 | |
with: | |
name: ofscraper_windows | |
- name: Download windows zip | |
uses: actions/download-artifact@v3 | |
with: | |
name: ofscraper_windows_zip | |
- name: commit | |
uses: pr-mpt/actions-commit-hash@v2 | |
id: commit | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y.%m.%d')_$(date +%s| tail -c 7)" >> $GITHUB_OUTPUT | |
- name: create release | |
uses: ncipollo/release-action@v1 | |
with: | |
artifacts: "/home/runner/work/OF-Scraper/OF-Scraper/ofscraper_*" | |
tag: "${{steps.commit.outputs.short}}" | |
name: ${{env.name}} | |
body: ${{env.body}} | |
commit: "${{steps.commit.outputs.long}}" | |
env: | |
name: "${{steps.date.outputs.date}}_${{ github.head_ref || github.ref_name }}_${{ steps.commit.outputs.short}}_package" | |
body: "This is a auto generated release created from commit ${{ steps.commit.outputs.hash}}" |