Skip to content

find good middle gorund #1052

find good middle gorund

find good middle gorund #1052

Workflow file for this run

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}}"