Automation Enhancements

Created on 18 October 2023, about 1 year ago
Updated 28 March 2024, 8 months ago

Problem/Motivation

* Automate publishing.
* Ensure we're tagging releases.
* Consider pre-releases.
* Add gitlab dependency scanning if possible.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Feature request
Status

Fixed

Component

Code

Created by

🇺🇸United States brianperry

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @brianperry
  • Status changed to Postponed about 1 year ago
  • Status changed to Active about 1 year ago
  • 🇺🇸United States brianperry

    It seems like https://www.npmjs.com/package/changesets-gitlab could help simplify the setup here

  • Merge request !45Enable dependency scanning → (Closed) created by brianperry
  • Pipeline finished with Success
    10 months ago
    Total: 184s
    #90063
  • Pipeline finished with Success
    10 months ago
    Total: 244s
    #90067
  • Pipeline finished with Success
    10 months ago
    Total: 240s
    #90070
  • 🇺🇸United States brianperry

    Opened an MR that adds Gitlab dependency scanning. It doesn't quite do the things I'm expecting. From what I can tell, it won't open PRs to resolve security issues it identifies (but might for some of the paid Gitlab plans?) It also runs a license compatibility report, which adds a bunch of noise we can't act on. Can't find a way to shut that off.

    Even with those limitations, some security alerts are better than nothing. For now I restricted it to just prod dependencies.

    We'll probably need to do more here. Schedule the dependency scan to run on a regular basis (not just for open PRs?) Implement our own dependabot security MR workflow?

  • Pipeline finished with Success
    9 months ago
    Total: 69s
    #94659
  • Pipeline finished with Success
    9 months ago
    #95090
  • Assigned to brianperry
  • 🇺🇸United States brianperry

    Picking this one up. We have some releasable changes on canary, so now seems like as good a time as any to try to automate our releases.

  • Pipeline finished with Failed
    9 months ago
    #98030
  • Pipeline finished with Failed
    9 months ago
    #98032
  • Pipeline finished with Failed
    9 months ago
    #98033
  • Pipeline finished with Failed
    9 months ago
    #98037
  • Merge request !49Release automation → (Merged) created by brianperry
  • Pipeline finished with Success
    9 months ago
    Total: 150s
    #98040
  • Pipeline finished with Failed
    9 months ago
    #98172
  • Pipeline finished with Success
    9 months ago
    Total: 150s
    #98190
  • Issue was unassigned.
  • Status changed to Needs review 9 months ago
  • Pipeline finished with Success
    9 months ago
    Total: 150s
    #98768
  • Pipeline finished with Success
    9 months ago
    #100012
  • Status changed to RTBC 9 months ago
  • Pipeline finished with Skipped
    9 months ago
    #102675
  • Pipeline finished with Success
    9 months ago
    Total: 184s
    #102697
  • Pipeline finished with Success
    9 months ago
    Total: 184s
    #102739
  • Merge request !56Release job adjustments → (Merged) created by brianperry
  • Pipeline finished with Success
    9 months ago
    Total: 245s
    #102775
  • Merge request !59Fixes to changeset versioning → (Merged) created by brianperry
  • Pipeline finished with Success
    9 months ago
    Total: 179s
    #103076
  • Pipeline finished with Failed
    9 months ago
    Total: 268s
    #103182
  • Pipeline finished with Success
    9 months ago
    Total: 274s
    #103185
  • Pipeline finished with Success
    9 months ago
    Total: 184s
    #103190
  • Merge request !66Ignore output of dependency scanner → (Merged) created by brianperry
  • Pipeline finished with Success
    9 months ago
    Total: 273s
    #103203
  • 🇺🇸United States brianperry

    Very close on the release automation. NPM publishing is working, tags get pushed for the release, but something is happening at the end of the job that Gitlab considers a failure. Will continue debugging on future releases. Might try disabling the tags to see if that eliminates this, but having the tags is nice...

  • Pipeline finished with Running
    9 months ago
    #103472
  • Pipeline finished with Success
    9 months ago
    Total: 185s
    #103523
  • Pipeline finished with Success
    9 months ago
    Total: 184s
    #103532
  • Status changed to Needs work 9 months ago
  • 🇺🇸United States brianperry

    We're really close on this. Currently the automation succeeds for everything we care about (publishing to NPM, pushing tags to the repo) when we merge the 'Version Packages' MR but fails on a final step. Its a little hard to tell from the output, but I think changesets-gitlab is trying to publish gitlab releases and doesn't have permission. I don't think we really need that if the tags are being published, so I'd prefer to skip that step. I've tried setting the `CREATE_GITLAB_RELEASES` variable to false in CI, but that doesn't seem to be doing the trick.

    Next steps:
    * I'm going to merge a change that uses `INPUT_CREATE_GITLAB_RELEASES` as the variable name just in case that is the issue. The docs are a little unclear on that. It also moves the release job to last in the workflow. The next time we have a release we can see if this fixes it.
    * If that doesn't work, we could try bumping up the role or the scopes for the Gitlab token that we're using.

  • Pipeline finished with Success
    9 months ago
    Total: 180s
    #103541
  • Merge request !79Don't run prettier on public docs directory → (Merged) created by brianperry
  • Pipeline finished with Success
    8 months ago
    Total: 246s
    #119204
  • Status changed to Fixed 8 months ago
  • 🇺🇸United States brianperry

    This most recent run succeeded completely hands off, so we can finally close this one :)

  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024