https://github.com/ibrahimroshdy/multi-arch-github-actions
A sample project of adding multi-arch build pipeline to GitHub and utilising the GitHub actions, workflows and job settings.
https://github.com/ibrahimroshdy/multi-arch-github-actions
codecov continuous-integration docker github-actions multi-arch-images python
Last synced: 5 months ago
JSON representation
A sample project of adding multi-arch build pipeline to GitHub and utilising the GitHub actions, workflows and job settings.
- Host: GitHub
- URL: https://github.com/ibrahimroshdy/multi-arch-github-actions
- Owner: ibrahimroshdy
- Created: 2022-07-21T14:20:03.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-11-10T21:50:55.000Z (7 months ago)
- Last Synced: 2025-11-10T23:29:23.802Z (7 months ago)
- Topics: codecov, continuous-integration, docker, github-actions, multi-arch-images, python
- Language: Dockerfile
- Homepage:
- Size: 606 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Multi-Arch Build with GitHub Actions

[](https://ibrahimroshdy.github.io/multi-arch-github-actions/)
[](https://results.pre-commit.ci/latest/github/ibrahimroshdy/multi-arch-github-actions/main)
[](https://github.com/ibrahimroshdy/multi-arch-github-actions/actions/workflows/ci_workflow.yml)
[](https://codecov.io/gh/ibrahimroshdy/multi-arch-github-actions)
## About
A sample project of adding continuous integration multi-arch buildx
to GitHub and utilising the GitHub actions, workflows and job settings.
This project contains a `simple_loop.py` python file that prints a progress bar of a for loop.
The aim of this project to serve a sample project for implementing GitHub's
workflow using workflow files, and custom actions and multiple jobs.
### Folder Structure
```
multi-arch-github-actions
│
├── README.md
├── .github # gitHub workflow directory
│ ├── actions # Custom actions directory
│ │ └── install-run-code # This project's Custom Action to be referred to by name in workflows
│ │ └── action.yml # Action instructions file [Must be named action]
│ └── workflows # This project's Workflows
│ └── ci_workflow.yml # Workflow instructions file
├── .gitignore # git ignore file
├── pyproject.toml
└── simple_loop.py
```
### Getting Started
There is no need to run the project locally, but in case it is needed here is the quick start instructions used.
Note: Those are the same instructions in `.github/workflows/ci_workflows.yml`
and `.github/actions/install-run-code/actions.yml`
Project is also setup for a Docker Multi-arch build for `arm64` and `amd64`. Read more about it in
this [article](https://ibrahimroshdy.medium.com/how-to-build-your-docker-images-using-multi-arch-to-support-arm64-m1-macbook-6ebc42a47cd7).
Create a virtualenv
```bash
virtualenv venv -p python3
```
Activate your venv
```bash
source venv/bin/activate
```
Install poetry and pyfiglet using pip
```bash
pip install poetry pyfiglet
```
Run poetry install to install all needed python packages
```bash
poetry install
```
Run pyfiglet because you can
```bash
pyfiglet Multi-Arch Build with GitHub Actions
```
Finally, run code
```bash
python simple_loop.py
```
You should have something like that..
```bash
This is a progress bar of the simple loop script
100%|███████| 1000000/1000000 [00:00<00:00, 4474649.76it/s]
```