Giter Site home page Giter Site logo

deploy's Introduction

Primer CSS

The CSS implementation of GitHub's Primer Design System

Documentation

⚠️ The documentation of this repo is not maintained anymore. Please raise any documentation-specific pull requests in primer.style/design

Our documentation site lives at primer.style/css. You'll be able to find detailed documentation on getting started, all of the components, our theme, our principles, and more.

Install

This repository is distributed with npm. After installing npm, you can install @primer/css with this command:

npm install --save @primer/css

Usage

The included source files are written in Sass using SCSS syntax. After installing with npm, you can add your project's node_modules directory to your Sass include paths (AKA load paths in Ruby), then import it like this:

@import "@primer/css/index.scss";

You can import individual Primer modules directly from the @primer/css package:

@import "@primer/css/core/index.scss";
@import "@primer/css/product/index.scss";
@import "@primer/css/marketing/index.scss";

Development

See DEVELOP.md for development docs.

Releasing (for GitHub staff)

You can find docs about our release process in RELEASING.md.

License

MIT © GitHub

deploy's People

Contributors

shawnbot avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

deploy's Issues

Run now from this repo's working dir, not via npx

Currently we run the Now CLI with npx now <args>, which presents some issues:

  1. Each repo is responsible for having now as a (dev) dependency, and may use a version that are "incompatible" with the assumptions we make here.
  2. As seen in this failed run, if npx has to install now at runtime it'll fail because it's running as root, which prevents lifecycle hooks like postinstall from running, and it looks to me from that error that now relies on those.

So instead of running npx now, we should have now as a dependency in this repo and get its CLI path locally, i.e. ./node_modules/.bin/now.

The only downside to this is that repos can't spec their own Now CLI version, but being able to upgrade it consistently across our repos by pinning a version of this action feels more sustainable to me.

Deprecate this action 💀

A lot has changed with Now's GitHub integration since we made this action, and it does all of the things we do. As we migrate our repos from Now v1 to v2, we need to also remove this action from our workflows and add them to the list in our installed app settings. Here's the playbook for migrating:

  1. Add the repo in the Now app settings (private, behind sudo auth).
  2. Delete any actions with uses = "primer/deploy@..." in .github/main.workflow, and remove that action's name from any needs = [...] prerequisites in other actions.
  3. Commit those changes to a new branch and create a PR so that you can see what happens and fix any issues that come up.

That should be it! If all goes well, you'll get a comment from now[bot] with a link to the deployment. If the repo you're updating is on Now v2 (if it has version: 2 in now.json), you'll get an alias URL for the most recent deployment in the form {project}-git-{branch}.primer.now.sh. ✨

Note that migration URLs are still available in the status checks list for each push, but the integration uses our Deployments API and closes #7.

Repos to migrate

Docs to update

  • primer/actions (this repo can probably be deleted if we're only using primer/publish everywhere)

Use the deployments API?

Deployments would allow us to move links for the deployed site out of status checks and into the area above the PR merge box:

image

Based on my brief skimming, it looks like we would create a deployment with the API from this action and base the "environment" on branch (maybe development for "root" deployments and branch aliases, staging for release candidates, and production on master?), let GitHub sort out the required status checks, then we'd be on the hook for running something that gets the deployment event, actually does the deployment (running now), then reports back status.

I think that we can respond to the deployment event in Actions, which would mean that maybe we have a on = "deployment" workflow that runs a different action than the one that creates the deployment, in which case we wouldn't have to run a server that gets the webhooks? I dunno, the more I write about it the less convinced I am that this is worth doing. 🤔

/cc @jonrohan

Run now with `--no-verify`

We've been having issues with the Now CLI timing out, and it looks like there are a couple of fixes:

  1. Reduce the scale numbers so that Now doesn't have to verify instantiation of as many instances in different regions.
  2. Run now --no-verify the first time to skip the instantiation check.

Unfortunately we can't test this with args = ["--", "--no-verify"] because now alias barfs on the --no-verify flag.

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.