Reusable GitHub Actions workflows for common operational tasks.
- ♻ Reusable workflows for common operational tasks, simplifying CI/CD pipeline setup.
- 📦 Build support for multiple languages and frameworks including Docker, .NET and Python.
- 🚀 Deploy to multiple cloud platforms and services including Azure Web App, Azure Functions and GitHub Pages.
- 🔑 Secretless authentication where supported.
- 🛡️ Security scanning using static analysis tools, including CodeQL, Trivy and zizmor.
- 📝 Comprehensive documentation for each workflow, with usage examples.
- 🤖 Easy workflow updates using Dependabot version updates.
Call a reusable workflow by using the following syntax:
on: [push]
jobs:
example:
uses: equinor/ops-actions/.github/workflows/{filename}@{ref}
with: {}
secrets: {}{filename} is the name of a workflow file in the workflows directory, and {ref} is (in order of preference) a commit SHA, release tag or branch name.
To pass inputs and secrets to the reusable workflow, use the with and secrets keywords respectively.
Use Dependabot to keep workflows you use updated to the latest versions.
Create a Dependabot configuration file .github/dependabot.yml in your repository containing the following configuration:
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weeklyClone this repository:
git clone https://github.com/equinor/ops-actions.git && cd ops-actionsInstall dependencies:
python -m pip install --upgrade pip
pip install -r requirements-docs.txtRun a development server:
mkdocs serveAlternatively, a Visual Studio Code debug configuration is provided (see debug code with Visual Studio Code).
The GitHub Actions extension for Visual Studio Code is highly recommended for syntax highlighting, validation and code completion for GitHub Actions workflows.
We perform user acceptance tests for reusable workflows.
This project follows Semantic Versioning.
This project is licensed under the terms of the MIT license.