X Tutup
The Wayback Machine - https://web.archive.org/web/20200917220542/https://github.com/nodejs/docker-node/issues/1312
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

automate deployment #1312

Open
MylesBorins opened this issue Aug 12, 2020 · 8 comments
Open

automate deployment #1312

MylesBorins opened this issue Aug 12, 2020 · 8 comments

Comments

@MylesBorins
Copy link
Member

@MylesBorins MylesBorins commented Aug 12, 2020

How can we automate deployment of the docker images?

What steps are we currently doing manually?

Could we do this with actions?

/cc @mmarchini for her actions expertise

@mmarchini
Copy link
Member

@mmarchini mmarchini commented Aug 12, 2020

I think some of it is automated already? Yesterday I logged into the bot account and saw some activity where the bot sends PRs to the official Docker image library. Seems like we could also automate bumping the Node.js versions when there's a new release.

Funny enough I wrote a script a couple weeks ago to fetch the latest versions of all maintained release lines:

'use strict'

import { default as nv} from '@pkgjs/nv';
import { default as semver } from "semver";
import { writeFile } from 'fs/promises';

const versions = (await nv('maintained')).map(obj => obj.version)
  .sort(semver.compare)

console.log(versions.join('\n'))

Could be adapted to whatever we need for this repository.

@mmarchini
Copy link
Member

@mmarchini mmarchini commented Aug 12, 2020

Actually, looks like the repository already has a script to update all images? https://github.com/nodejs/docker-node/blob/master/update.sh

If so, we could have a daily Action that runs the script, and if the repository has any changes pushes it and creates a PR (or just pushes to the default branch, whichever works best).

@SimenB
Copy link
Member

@SimenB SimenB commented Aug 12, 2020

Yeah, an action running the update script should be fine. One snag is that we need to wait for the musl builds to complete so we can get them from https://unofficial-builds.nodejs.org/download/release/. Usually they are available not long after the official builds (I think about an hour?). We should probably just make the update script fail if it's not available while official builds are.

At that point, the bot could auto merge green PRs and the usual build from master would open a PR (the last part is implemented today)

@SimenB
Copy link
Member

@SimenB SimenB commented Aug 12, 2020

Semi-related is #1194 which converts much of our CI from Travis to GH Actions

@SimenB
Copy link
Member

@SimenB SimenB commented Aug 12, 2020

Oh, and /cc @nodejs/docker

@mmarchini
Copy link
Member

@mmarchini mmarchini commented Aug 12, 2020

Just pointing out that adding a scheduler Action should be possible without #1194, especially since that's a long PR and the scheduler Action would probably be short.

@SimenB
Copy link
Member

@SimenB SimenB commented Aug 12, 2020

For sure, I just assume the action (or whatever) for auto-merging PRs would work better if it just checked that all other workflows passed successfully rather than pinging travis. I guess we can just check the status tho, so maybe there's no difference 🙂

@nschonni
Copy link
Member

@nschonni nschonni commented Aug 15, 2020

Took a quick kick at the cron action in #1314

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.
X Tutup