Giter Club home page Giter Club logo

di-github-actions's Introduction

Archived

This repository has been archived. We will continue to develop it at the new location: [govuk-one-login/github-actions][1]

di-github-actions

This repository contains shared GitHub Actions to be used across Digital Identity projects.

The actions are intended to be lightweight bits of functionality that can be re-used across many workflows.

Using actions from this repo in other repos

Use the following syntax in your workflow:

uses: govuk-one-login/github-actions/{action-directory}@{ref}

The ref can be a specific branch, git ref or commit SHA.

For instance:

jobs:
  job:
    steps:
      - name: Step
        uses: govuk-one-login/github-actions/beautify-branch-name@main

Note: It is preferable to use a specific SHA to prevent workflows from breaking when incompatible changes are published.

Refer to the GitHub Actions docs for more info.

Adding new actions

  • Create a directory at the root of this repository to contain all the action's files
  • Follow the documentation to create a composite action or copy an existing action and modify as needed
  • Add a workflow in the .github directory of this repo to test the action's functionality. The test workflow must have one job called Test action. Take a look at the existing tests to see how to test an action.

Guidelines for actions

Flexibility

Actions should be flexible enough to be used in different scenarios. Use action inputs to allow its users to customise behaviour.

Testing

Each action should have a workflow associated with it that thoroughly verifies the action's behaviour. To use a specific action in a test, use the uses: ./{action-directory} syntax in the workflow.

Create a workflow in the .github directory with a single job named Test action - this will ensure the tests will be required to pass on each pull request before merging is enabled.

Add steps to the job as needed to test the action's behaviour.

di-github-actions's People

Contributors

abdul-gds avatar charlesic avatar dapherz-gds avatar dj-maisy avatar instantiator avatar rafal-surowiec-co avatar tobysaundersgds avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.