Loading .github/workflows/docker-image-osx-ghcr.yml +70 −70 Original line number Diff line number Diff line name: Docker Image CI OSX ghcr.io # name: Docker Image CI OSX ghcr.io # This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. # # This workflow uses actions that are not certified by GitHub. # # They are provided by a third-party and are governed by # # separate terms of service, privacy policy, and support # # documentation. on: push: tags: - v*.*.* branches: - main pull_request: # on: # push: # tags: # - v*.*.* # branches: # - main # pull_request: env: # Use docker.io for Docker Hub if empty REGISTRY: ghcr.io # github.repository as <account>/<repo> IMAGE_NAME: ${{ github.actor }}/pyinstaller-osx # env: # # Use docker.io for Docker Hub if empty # REGISTRY: ghcr.io # # github.repository as <account>/<repo> # IMAGE_NAME: ${{ github.actor }}/pyinstaller-osx jobs: build: runs-on: ubuntu-latest permissions: contents: read packages: write # This is used to complete the identity challenge # with sigstore/fulcio when running outside of PRs. id-token: write # jobs: # build: # runs-on: ubuntu-latest # permissions: # contents: read # packages: write # # This is used to complete the identity challenge # # with sigstore/fulcio when running outside of PRs. # id-token: write steps: - name: Checkout repository uses: actions/checkout@v4.1.7 # steps: # - name: Checkout repository # uses: actions/checkout@v4.1.7 # Install the cosign tool except on PR # https://github.com/sigstore/cosign-installer - name: Install cosign uses: sigstore/cosign-installer@v3.6.0 with: cosign-release: v2.2.4 # # Install the cosign tool except on PR # # https://github.com/sigstore/cosign-installer # - name: Install cosign # uses: sigstore/cosign-installer@v3.6.0 # with: # cosign-release: v2.2.4 # Set up BuildKit Docker container builder to be able to build # multi-platform images and export cache # https://github.com/docker/setup-buildx-action - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3.3.0 # # Set up BuildKit Docker container builder to be able to build # # multi-platform images and export cache # # https://github.com/docker/setup-buildx-action # - name: Set up Docker Buildx # uses: docker/setup-buildx-action@v3.3.0 # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into registry ${{ env.REGISTRY }} uses: docker/login-action@v3.3.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} # # Login against a Docker registry except on PR # # https://github.com/docker/login-action # - name: Log into registry ${{ env.REGISTRY }} # uses: docker/login-action@v3.3.0 # with: # registry: ${{ env.REGISTRY }} # username: ${{ github.actor }} # password: ${{ secrets.GITHUB_TOKEN }} # Extract metadata (tags, labels) for Docker # https://github.com/docker/metadata-action - name: Extract Docker metadata id: meta uses: docker/metadata-action@v5.5.1 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} # # Extract metadata (tags, labels) for Docker # # https://github.com/docker/metadata-action # - name: Extract Docker metadata # id: meta # uses: docker/metadata-action@v5.5.1 # with: # images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} # Build and push Docker image with Buildx (don't push on PR) # https://github.com/docker/build-push-action - name: Build and push Docker image id: build-and-push uses: docker/build-push-action@v6.7.0 with: context: . file: Dockerfile-py3-osx platforms: | linux/amd64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha cache-to: type=gha,mode=max # # Build and push Docker image with Buildx (don't push on PR) # # https://github.com/docker/build-push-action # - name: Build and push Docker image # id: build-and-push # uses: docker/build-push-action@v6.7.0 # with: # context: . # file: Dockerfile-py3-osx # platforms: | # linux/amd64 # push: true # tags: ${{ steps.meta.outputs.tags }} # labels: ${{ steps.meta.outputs.labels }} # cache-from: type=gha # cache-to: type=gha,mode=max .github/workflows/docker-image-osx.yml +30 −30 Original line number Diff line number Diff line name: Docker Image CI OSX docker.io # name: Docker Image CI OSX docker.io on: push: tags: - v*.*.* branches: - main # on: # push: # tags: # - v*.*.* # branches: # - main jobs: docker: runs-on: ubuntu-latest steps: - name: Set up QEMU uses: docker/setup-qemu-action@v3.0.0 # jobs: # docker: # runs-on: ubuntu-latest # steps: # - name: Set up QEMU # uses: docker/setup-qemu-action@v3.0.0 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3.3.0 # - name: Set up Docker Buildx # uses: docker/setup-buildx-action@v3.3.0 - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} # - name: Login to Docker Hub # uses: docker/login-action@v3 # with: # username: ${{ secrets.DOCKERHUB_USERNAME }} # password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v6.7.0 with: file: ./Dockerfile-py3-osx platforms: | linux/amd64 push: true tags: | ${{ secrets.DOCKERHUB_USERNAME }}/pyinstaller-osx:${{ github.ref_name }} ${{ secrets.DOCKERHUB_USERNAME }}/pyinstaller-osx:latest # - name: Build and push # uses: docker/build-push-action@v6.7.0 # with: # file: ./Dockerfile-py3-osx # platforms: | # linux/amd64 # push: true # tags: | # ${{ secrets.DOCKERHUB_USERNAME }}/pyinstaller-osx:${{ github.ref_name }} # ${{ secrets.DOCKERHUB_USERNAME }}/pyinstaller-osx:latest .github/workflows/test.yml +10 −9 Original line number Diff line number Diff line Loading @@ -36,12 +36,13 @@ jobs: run: | echo "Building image to test" ./build-and-test.sh Dockerfile-py3-linux-slim osx: runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@v4.1.7 - name: Run Tests run: | echo "Building image to test" ./build-and-test.sh Dockerfile-py3-osx # osx: # runs-on: ubuntu-latest # steps: # - name: Checkout Repo # uses: actions/checkout@v4.1.7 # - name: Run Tests # run: | # echo "Building image to test" # ./build-and-test.sh Dockerfile-py3-osx README.md +3 −6 Original line number Diff line number Diff line # PyInstaller Docker Images **batonogov/pyinstaller-linux**, **batonogov/pyinstaller-windows** and **batonogov/pyinstaller-osx (Experimental)** are a trio of Docker/Podman containers to ease compiling Python applications to binaries / exe files. **batonogov/pyinstaller-linux** and **batonogov/pyinstaller-windows** are Docker/Podman containers designed to simplify the process of compiling Python applications into binaries/executables. ## Container registry Loading @@ -11,13 +11,11 @@ Images available on multiple container registry: - `batonogov/pyinstaller-windows` / `docker.io/batonogov/pyinstaller-windows` - `batonogov/pyinstaller-linux` / `docker.io/batonogov/pyinstaller-linux` - `batonogov/pyinstaller-osx` / `docker.io/batonogov/pyinstaller-osx` - [ghcr.io](https://github.com/batonogov?tab=packages&repo_name=docker-pyinstaller) - `ghcr.io/batonogov/pyinstaller-windows` - `ghcr.io/batonogov/pyinstaller-linux` - `ghcr.io/batonogov/pyinstaller-osx` For linux images have slim and bullseye/bookworm version will ensure better compatibility. Loading @@ -27,9 +25,8 @@ For linux images have slim and bullseye/bookworm version will ensure better comp ## Usage There are three containers, one for `Linux` and one for `Windows` and one for `osx` builds. There are three containers, one for `Linux` and one for `Windows` builds. The Windows builder runs `Wine` inside Ubuntu to emulate Windows in Docker. The osx builder used `sickcodes/docker-osx` base image. To build your application, you need to mount your source code into the `/src/` volume. Loading Loading
.github/workflows/docker-image-osx-ghcr.yml +70 −70 Original line number Diff line number Diff line name: Docker Image CI OSX ghcr.io # name: Docker Image CI OSX ghcr.io # This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. # # This workflow uses actions that are not certified by GitHub. # # They are provided by a third-party and are governed by # # separate terms of service, privacy policy, and support # # documentation. on: push: tags: - v*.*.* branches: - main pull_request: # on: # push: # tags: # - v*.*.* # branches: # - main # pull_request: env: # Use docker.io for Docker Hub if empty REGISTRY: ghcr.io # github.repository as <account>/<repo> IMAGE_NAME: ${{ github.actor }}/pyinstaller-osx # env: # # Use docker.io for Docker Hub if empty # REGISTRY: ghcr.io # # github.repository as <account>/<repo> # IMAGE_NAME: ${{ github.actor }}/pyinstaller-osx jobs: build: runs-on: ubuntu-latest permissions: contents: read packages: write # This is used to complete the identity challenge # with sigstore/fulcio when running outside of PRs. id-token: write # jobs: # build: # runs-on: ubuntu-latest # permissions: # contents: read # packages: write # # This is used to complete the identity challenge # # with sigstore/fulcio when running outside of PRs. # id-token: write steps: - name: Checkout repository uses: actions/checkout@v4.1.7 # steps: # - name: Checkout repository # uses: actions/checkout@v4.1.7 # Install the cosign tool except on PR # https://github.com/sigstore/cosign-installer - name: Install cosign uses: sigstore/cosign-installer@v3.6.0 with: cosign-release: v2.2.4 # # Install the cosign tool except on PR # # https://github.com/sigstore/cosign-installer # - name: Install cosign # uses: sigstore/cosign-installer@v3.6.0 # with: # cosign-release: v2.2.4 # Set up BuildKit Docker container builder to be able to build # multi-platform images and export cache # https://github.com/docker/setup-buildx-action - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3.3.0 # # Set up BuildKit Docker container builder to be able to build # # multi-platform images and export cache # # https://github.com/docker/setup-buildx-action # - name: Set up Docker Buildx # uses: docker/setup-buildx-action@v3.3.0 # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into registry ${{ env.REGISTRY }} uses: docker/login-action@v3.3.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} # # Login against a Docker registry except on PR # # https://github.com/docker/login-action # - name: Log into registry ${{ env.REGISTRY }} # uses: docker/login-action@v3.3.0 # with: # registry: ${{ env.REGISTRY }} # username: ${{ github.actor }} # password: ${{ secrets.GITHUB_TOKEN }} # Extract metadata (tags, labels) for Docker # https://github.com/docker/metadata-action - name: Extract Docker metadata id: meta uses: docker/metadata-action@v5.5.1 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} # # Extract metadata (tags, labels) for Docker # # https://github.com/docker/metadata-action # - name: Extract Docker metadata # id: meta # uses: docker/metadata-action@v5.5.1 # with: # images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} # Build and push Docker image with Buildx (don't push on PR) # https://github.com/docker/build-push-action - name: Build and push Docker image id: build-and-push uses: docker/build-push-action@v6.7.0 with: context: . file: Dockerfile-py3-osx platforms: | linux/amd64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha cache-to: type=gha,mode=max # # Build and push Docker image with Buildx (don't push on PR) # # https://github.com/docker/build-push-action # - name: Build and push Docker image # id: build-and-push # uses: docker/build-push-action@v6.7.0 # with: # context: . # file: Dockerfile-py3-osx # platforms: | # linux/amd64 # push: true # tags: ${{ steps.meta.outputs.tags }} # labels: ${{ steps.meta.outputs.labels }} # cache-from: type=gha # cache-to: type=gha,mode=max
.github/workflows/docker-image-osx.yml +30 −30 Original line number Diff line number Diff line name: Docker Image CI OSX docker.io # name: Docker Image CI OSX docker.io on: push: tags: - v*.*.* branches: - main # on: # push: # tags: # - v*.*.* # branches: # - main jobs: docker: runs-on: ubuntu-latest steps: - name: Set up QEMU uses: docker/setup-qemu-action@v3.0.0 # jobs: # docker: # runs-on: ubuntu-latest # steps: # - name: Set up QEMU # uses: docker/setup-qemu-action@v3.0.0 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3.3.0 # - name: Set up Docker Buildx # uses: docker/setup-buildx-action@v3.3.0 - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} # - name: Login to Docker Hub # uses: docker/login-action@v3 # with: # username: ${{ secrets.DOCKERHUB_USERNAME }} # password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v6.7.0 with: file: ./Dockerfile-py3-osx platforms: | linux/amd64 push: true tags: | ${{ secrets.DOCKERHUB_USERNAME }}/pyinstaller-osx:${{ github.ref_name }} ${{ secrets.DOCKERHUB_USERNAME }}/pyinstaller-osx:latest # - name: Build and push # uses: docker/build-push-action@v6.7.0 # with: # file: ./Dockerfile-py3-osx # platforms: | # linux/amd64 # push: true # tags: | # ${{ secrets.DOCKERHUB_USERNAME }}/pyinstaller-osx:${{ github.ref_name }} # ${{ secrets.DOCKERHUB_USERNAME }}/pyinstaller-osx:latest
.github/workflows/test.yml +10 −9 Original line number Diff line number Diff line Loading @@ -36,12 +36,13 @@ jobs: run: | echo "Building image to test" ./build-and-test.sh Dockerfile-py3-linux-slim osx: runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@v4.1.7 - name: Run Tests run: | echo "Building image to test" ./build-and-test.sh Dockerfile-py3-osx # osx: # runs-on: ubuntu-latest # steps: # - name: Checkout Repo # uses: actions/checkout@v4.1.7 # - name: Run Tests # run: | # echo "Building image to test" # ./build-and-test.sh Dockerfile-py3-osx
README.md +3 −6 Original line number Diff line number Diff line # PyInstaller Docker Images **batonogov/pyinstaller-linux**, **batonogov/pyinstaller-windows** and **batonogov/pyinstaller-osx (Experimental)** are a trio of Docker/Podman containers to ease compiling Python applications to binaries / exe files. **batonogov/pyinstaller-linux** and **batonogov/pyinstaller-windows** are Docker/Podman containers designed to simplify the process of compiling Python applications into binaries/executables. ## Container registry Loading @@ -11,13 +11,11 @@ Images available on multiple container registry: - `batonogov/pyinstaller-windows` / `docker.io/batonogov/pyinstaller-windows` - `batonogov/pyinstaller-linux` / `docker.io/batonogov/pyinstaller-linux` - `batonogov/pyinstaller-osx` / `docker.io/batonogov/pyinstaller-osx` - [ghcr.io](https://github.com/batonogov?tab=packages&repo_name=docker-pyinstaller) - `ghcr.io/batonogov/pyinstaller-windows` - `ghcr.io/batonogov/pyinstaller-linux` - `ghcr.io/batonogov/pyinstaller-osx` For linux images have slim and bullseye/bookworm version will ensure better compatibility. Loading @@ -27,9 +25,8 @@ For linux images have slim and bullseye/bookworm version will ensure better comp ## Usage There are three containers, one for `Linux` and one for `Windows` and one for `osx` builds. There are three containers, one for `Linux` and one for `Windows` builds. The Windows builder runs `Wine` inside Ubuntu to emulate Windows in Docker. The osx builder used `sickcodes/docker-osx` base image. To build your application, you need to mount your source code into the `/src/` volume. Loading