GithubHelp home page GithubHelp logo

jameslnewell / buildkite-pipelines Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 2.0 1.86 MB

Generate Buildkite pipelines from code.

Home Page: https://jameslnewell.github.io/buildkite-pipelines/api/index.html

TypeScript 92.79% Dockerfile 0.23% JavaScript 6.87% Shell 0.11%

buildkite-pipelines's People

Contributors

dprothero avatar github-actions[bot] avatar jameslnewell avatar johnjcsmith avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

buildkite-pipelines's Issues

Validate fields on set?

e.g. so we discover earlier when invalid values are set with useful stack traces, rather than later when stringifying and we don't have contextual stack traces

Update docker file to work like

# specify NPM global packages install path
# @see https://github.com/nodejs/docker-node/blob/main/docs/BestPractices.md#global-npm-dependencies
ENV NPM_CONFIG_PREFIX=/home/node/.npm-global

# add NPM binaries from global packages to PATH
# @see https://github.com/nodejs/docker-node/blob/main/docs/BestPractices.md#global-npm-dependencies
ENV PATH=$PATH:/home/node/.npm-global/bin

WORKDIR /tool

# install system dependencies
RUN apk add --no-cache --update xyz

# install NPM dependencies
COPY package.json package-lock.json ./
RUN --mount=type=secret,id=npmrc,dst=/root/.npmrc \
  npm ci && \
  npm cache clean --force

# copy files required at runtime
COPY cli.js ./
COPY dist ./dist

# install as a global package
RUN npm -g install file://.

WORKDIR /workdir

version check

search up for package.json from the pipeline file and check the version installed is compatible with the version in the docker image

maybe consider installing other deps in future in order to install abstractions - maybe different docker variant or configurable flag - or just let dev do that before they call buildkite-pipelines - don't force the entrypoint

Publish with a different user so we can turn branch protections on

Run git push
remote: error: GH00[6](https://github.com/jameslnewell/buildkite-pipelines/actions/runs/5664537184/job/15348130462#step:14:7): Protected branch update failed for refs/heads/main.        
remote: error: Changes must be made through a pull request.        
To https://github.com/jameslnewell/buildkite-pipelines
 ! [remote rejected] main -> main (protected branch hook declined)
error: failed to push some refs to 'https://github.com/jameslnewell/buildkite-pipelines'
Error: Process completed with exit code 1.

https://github.com/jameslnewell/buildkite-pipelines/actions/runs/5664537184/job/15348130462

Example usages

  • conditional steps based on diff

  • abstracting and reusing steps/pipelines

    • functions
    • builders
  • setting up to develop locally vs running on CI/CD (and potentially building your own docker container)

DockerPlugin props

  - docker#v5.3.0:
      image:
      always-pull:
      mount-ssh-agent: 
      volumes:
      command:
      environment:

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.