theme | paginate | backgroundColor | color | colorPreset | footer |
---|---|---|---|---|---|
gaia |
true |
dark |
Tehran Lug 2/27/2025 |
Seyyed Ali Mohammadiyeh (Max Base)
Tehran Lug - 27 Feb 2027
Seyyed Ali Mohammadiyeh (Max Base)
Open-source Maintainer, GitHub Software Engineer CTO, asrez
Seyyed Ali Mohammadiyeh (Max Base)
- GitHub: https://github.com/basemax
- Experience: Over 10 years in software development and programming
- Background: Pure-mathematics and applied mathematics, with research experience
- A CI/CD service by GitHub
- Automates workflows directly in GitHub repositories
- Automates testing, deployment, and workflows
- Reduces manual work
- Provides seamless integration with GitHub repositories
- CI (Continuous Integration): Merging code frequently & running tests automatically
- CD (Continuous Deployment/Delivery): Automatically deploying tested code to development/production/server
- Faster development cycles
- Improved code quality
- Automatic rollback in case of failure
Automate your workflow from idea to production
- Workflows: Define automation process
- Events: Triggers for workflows (push, pull request, etc.)
- Jobs: Tasks running in parallel or sequentially
- Steps: Individual commands within a job
- Actions: Pre-built or custom scripts
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run a script
run: echo "Hello, GitHub Actions!"
push
orpull_request
- Issues and comments
- Scheduled CRON jobs
- Manual trigger (
workflow_dispatch
)
- A workflow can have multiple jobs
- Jobs can run in parallel or sequentially (
needs
) - Example:
jobs:
test:
runs-on: ubuntu-latest
steps:
- run: npm test
deploy:
needs: test
runs-on: ubuntu-latest
steps:
- run: npm run deploy
- Example deployment job:
name: Deploy
on: push
to:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: ./deploy.sh
- Store API keys, passwords securely
- Access them using
${{ secrets.SECRET_NAME }}
- Example:
jobs:
deploy:
steps:
- run: echo "Deploying with ${{ secrets.API_KEY }}"
jobs:
test:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- run: echo "Running on ${{ matrix.os }}"
- Caching dependencies
- Running workflows conditionally
- Handling workflow concurrency
- Use GitHub’s OIDC authentication for cloud providers
- Rotate secrets regularly
- Restrict permissions of GitHub tokens
- View logs in GitHub Actions UI
- Use
job.status
for conditional steps
jobs:
test:
steps:
- run: echo "Running tests"
- if: failure()
run: echo "Tests failed!"
- Machines that execute workflows
- Two types:
- GitHub-hosted (Linux, macOS, Windows)
- Self-hosted (Custom machine or cloud server)
- Go to GitHub repository settings
- Navigate to
Actions
>Runners
- Download and configure the runner
- Start the runner and register it with GitHub
- Running automated tests
- Deploying applications
- Deploy Previews for Every Pull Request
???
- Automated UI Demo Creation (GIFs & Videos)
- Auto-Generate Custom Avatars for Users
- Automated Web Scraping and Data Collection
- Auto-Sync Forked Repositories
- Run Auto-Refactoring Scripts
- Auto-update Dependencies Across Multiple Repositories
- Automate Image Optimization
- Run Custom AI/ML Model Inference
- Check for Broken Links in Documentation
- Generate Graphs and Analytics
- Detect Duplicate Code and Generate Reports
- Enforce Coding Standards
- Run Code Quality Analysis on Each Pull Request
- Monitor and Report Code Vulnerabilities
- Automated Feature Flag Management
- Create or Update GitHub Pages Automatically
- Deploy to Multi-Cloud Environments
- Run Stress Tests on the Codebase
- Create a Performance Benchmarking Pipeline
- Automated Merge Conflict Detection
- Personalized Onboarding for New Contributors
- Convert Documentation to Different Formats
- Sending notifications (Slack, Email)
- Trigger a Workflow on a Specific Day or Time
- Trigger Auto-Deploys Based on Custom Labels
- Automating documentation generation
- Enforce Versioning Standards
- Automate Software Licensing Checks
- Auto-generate Release Notes
- Run Cryptocurrency or Blockchain-related Jobs
- Running security scans
- Auto release Android(apk) and iOS release
GitHub Actions is often viewed primarily as a CI/CD tool, It can automate all sorts of tasks throughout the software development lifecycle, from ideation to production and even beyond.
Brew a coffee as a gift once the official developers of the project make a successful, error-free commit.
![]() |
![]() |
---|
Using GitHub Actions to Brew Coffee Hacking Bluetooth to Brew Coffee on GitHub Actions Part 1
- https://github.com/BaseMax/React-Auto-Build-GitHub-Actions
- https://github.com/BaseMax/github-actions-nextjs-build-deploy
- https://github.com/BaseMax/AndroidAutoBuildAPK
- https://github.com/BaseMax/GitHubAction-Jekyll-SFTP-Deploy-Password
- https://github.com/BaseMax/GitHubAction-SFTP-Deploy-Password
- https://github.com/BaseMax/AutoInviteToOrgByIssueComment
- https://github.com/BaseMax/AutoInviteToOrgByStar
- https://github.com/BaseMax/github-actions-cpanel-php-ftp
- https://github.com/BaseMax/github-actions-compile-golang
- https://github.com/BaseMax/github-actions-compile-c
- https://github.com/BaseMax/github-actions-update-push
- https://github.com/BaseMax/github-actions-create-tag
- https://github.com/BaseMax/github-actions-upload-temp-file
- https://github.com/BaseMax/github-actions-create-release
- https://github.com/BaseMax/github-actions-monitor-issues
- https://github.com/BaseMax/github-actions-run-docker-compose
- https://github.com/BaseMax/github-actions-run-dockerfile
- https://github.com/BaseMax/github-actions-compile-rust
- https://github.com/BaseMax/github-actions-react-deploy-tailwindcss-sftp
- https://github.com/BaseMax/github-actions-react-deploy-linux-sftp
- https://github.com/BaseMax/github-actions-react-build-linux-sftp
- https://github.com/BaseMax/github-actions-file-linux-ssh-sftp
Let's discuss! 🚀
Repository: github.com/BaseMax/github-actions-tehlug
Linkedin: linkedin.com/in/maxbase
Email: [email protected]
Telegram: t.me/MAX_BASE