From b4b81f725d56b201b671872791ca3213ff838a0c Mon Sep 17 00:00:00 2001 From: infeeeee Date: Fri, 24 Mar 2023 17:43:08 +0100 Subject: [PATCH] Windows build workflow --- .github/workflows/unittests.yml | 32 ++++++++++++++++---------------- .github/workflows/website.yml | 17 +++++------------ .github/workflows/winbuild.yml | 33 +++++++++++++++++++++++++++++++++ TODO.md | 4 ++-- dyn2py/__main__.py | 4 ++-- 5 files changed, 58 insertions(+), 32 deletions(-) create mode 100644 .github/workflows/winbuild.yml diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index c518fd1..bd3c661 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -2,9 +2,9 @@ name: Unit tests on: push: - branches: [ "main" ] + branches: ["main"] pull_request: - branches: [ "main" ] + branches: ["main"] permissions: contents: read @@ -18,17 +18,17 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v3 - with: - python-version: ${{ matrix.python-version }} - - - name: Install deps - run: | - python -m pip install --upgrade pip - pip install . - - - name: Test - run: python -m unittest discover -v -s ./tests -p "test_*.py" + - uses: actions/checkout@v3 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Install deps + run: | + python -m pip install --upgrade pip + pip install . + + - name: Test + run: python -m unittest discover -v -s ./tests -p "test_*.py" diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 71d06d0..4189c4d 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -1,28 +1,23 @@ name: Deploy website -# build the documentation whenever there are new commits on main on: push: - branches: - - main - # Alternative: only build for tags. - # tags: - # - '*' + # Only build for tags. + tags: + - "*" # Allows you to run this workflow manually from the Actions tab workflow_dispatch: - # security: restrict permissions for CI jobs. permissions: contents: read - + # Allow one concurrent deployment concurrency: group: "pages" cancel-in-progress: true - jobs: # Build the documentation and upload the static HTML files as an artifact. build: @@ -31,11 +26,9 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: '3.11' + python-version: "3.11" - run: pip install -e .[doc] - # ADJUST THIS: build your documentation into docs/. - # We use a custom build script for pdoc itself, ideally you just run `pdoc -o docs/ ...` here. - run: pdoc -d google -o docs dyn2py - uses: actions/upload-pages-artifact@v1 diff --git a/.github/workflows/winbuild.yml b/.github/workflows/winbuild.yml new file mode 100644 index 0000000..6d14a09 --- /dev/null +++ b/.github/workflows/winbuild.yml @@ -0,0 +1,33 @@ +name: Build Windows exe + +on: + push: + # Only build for tags. + tags: + - "*" + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + tests: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + + - name: Install deps + run: | + python -m pip install --upgrade pip + pip install .[build] + + - name: Build + run: pyinstaller dyn2py.spec + + - uses: actions/upload-artifact@v3 + with: + name: dyn2py.exe + path: dist/dyn2py.exe diff --git a/TODO.md b/TODO.md index afe610c..23b268d 100644 --- a/TODO.md +++ b/TODO.md @@ -12,8 +12,8 @@ ## CI/CD - [x] Tests on Linux -- [ ] Tests on Windows -- [ ] Windows Build +- [x] Tests on Windows +- [x] Windows Build - [ ] Windows Installer - [ ] Pip diff --git a/dyn2py/__main__.py b/dyn2py/__main__.py index dfc7bbc..e2d0a26 100644 --- a/dyn2py/__main__.py +++ b/dyn2py/__main__.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -from dyn2py import run +import dyn2py if __name__ == "__main__": - run() \ No newline at end of file + dyn2py.__command_line() # type: ignore