This repository contains a set of standardized, reusable GitHub Actions workflows designed to streamline the CI/CD processes for the IS Dev team. These workflows cover various aspects of the development lifecycle, including building and pushing Docker images, running tests, deploying to Kubernetes, and sending notifications.
- sync-postman-collection.yml: Synchronizes Postman collections with a specified workspace.
- newman-k8s-contract-tests.yml: Runs contract tests for Kubernetes deployments.
- kustomize-deploy-commit.yml: Updates and commits Kubernetes manifests using Kustomize.
- docker-build-and-push.yml: Builds and pushes Docker images to a registry.
- slack-notify.yml: Sends notifications to Slack about workflow status.
- newman-k8s-tests.yml: Runs functional tests for Kubernetes deployments.
- golangci-lint.yml: Performs linting for Go projects.
To use these workflows in your project, reference them in your GitHub Actions workflow file using the uses
keyword. For example:
jobs:
build:
uses: expedient/is-dev-workflows/.github/workflows/docker-build-and-push.yml@v1.0.0
with:
tags: myapp:latest
secrets:
IS_DOCKER_HUB_USERNAME: ${{ secrets.IS_DOCKER_HUB_USERNAME }}
IS_DOCKER_HUB_PASSWORD: ${{ secrets.IS_DOCKER_HUB_PASSWORD }}
Refer to each workflow file for specific input parameters and required secrets.
To contribute to this repository, please follow these steps:
- Fork the repository
- Create a new branch for your feature or bug fix
- Make your changes and commit them
- Push your changes to your fork
- Submit a pull request