GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Improved Ubuntu CI by lextm · Pull Request #45 · dotdevelop/dotdevelop

Conversation

@lextm

@lextm lextm commented Jan 8, 2021

Copy link
Copy Markdown
  • Added Ubuntu 18.04 and 16.04.
  • Switched to Docker images, so later other distributions can be added similarly.
  • Modified Makefile to remove the quotes around PATH. This allows make to work on Ubuntu 18.04 and 16.04.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@lextm lextm mentioned this pull request Jan 8, 2021
Expand CI to all LTS Ubuntu releases #35
Open
@knocte

knocte commented Jan 8, 2021

Copy link
Copy Markdown
Member

@lextm ubuntu1804 lane is failing

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lextm

lextm commented Jan 8, 2021

Copy link
Copy Markdown
Author

The failure was not caused by the changes, but instability around NuGet package restore. You can see the same changes work in https://github.com/lextm/dotdevelop/actions/runs/470535881

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@knocte

knocte commented Jan 8, 2021

Copy link
Copy Markdown
Member

Well, you could squash the 2 commits into 1, to see if next CI run passes.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lextm

lextm commented Jan 8, 2021

Copy link
Copy Markdown
Author

I intentionally left two commits, as that illustrated clearly why Makefile needs to be modified.

Two GitHub Actions runs in my fork can be used as reference,

  • Initial commit to add more Ubuntu versions, https://github.com/lextm/dotdevelop/actions/runs/470472832 Failed due to incorrect PATH modification in Makefile.
  • Second commit to modify Makefile https://github.com/lextm/dotdevelop/actions/runs/470535881 Passed.
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@knocte

knocte commented Jan 8, 2021

Copy link
Copy Markdown
Member

My suggestion is that if you push with your --force in your branch, the CI will run again and that ugly red (x) will disappear. If you don't want to squash, you could just change the commit message of last commit slightly (e.g. with git commit --amend).

PS: Actually, thinking more about this, are you sure squashing the 2 commits into 1 is not the right approach? Because if you push the commits one by one, the first commit's CI would break, right?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lextm

lextm commented Jan 8, 2021

Copy link
Copy Markdown
Author

The rule of GitHub Actions on pull request creation is that it only triggers a single run, no matter how many commits are there. That's why there was only one run for this pull request so far.

I know I can modify on my side to trigger another run (squash or whatever), but the repo owner can force rerun the workflow from Actions tab, which is a far more common way to resolve instable CI builds.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@knocte

knocte commented Jan 8, 2021 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

no matter how many commits are there

Not 100% accurate statement: it triggers a single run per push, so if you have 2 commits, you could push 1 first, and the 2nd later, in order to have CI run in each of them. I even did a script myself to push this way: https://github.com/nblockchain/fsx/blob/master/Tools/gitPush1by1.fsx

But even if you could not do the above, it's always preferable that CI is not broken in between commits, because it prevents bisections.

but the repo owner can force rerun the workflow from Actions tab, which is a far more common way to resolve instable CI builds.

Well, if you had proposed this PR from your fork, you wouldn't need the repo owner to help ;)

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lextm
lextm changed the base branch from dotdevelop_oe_8.4.3.12_NoGit to dotdevelop_oe_8.6 January 13, 2021 17:41
@lextm

lextm commented Jan 13, 2021

Copy link
Copy Markdown
Author

Will rebase to 8.6 branch later today.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

lextm added 2 commits January 15, 2021 01:49
@lextm
Expanded to Ubuntu 18.04/16.04.
0e1dde1
@lextm
Fixed Makefile for Ubuntu 18.04/16.04.
e1b39ee
@lextm
lextm force-pushed the ubuntu-ci branch from 7a45e69 to e1b39ee Compare January 15, 2021 06:50
@lextm

lextm commented Jan 17, 2021

Copy link
Copy Markdown
Author

After rebase to 8.6, all checks now passed.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@knocte

knocte commented Jan 17, 2021

Copy link
Copy Markdown
Member

Can you do two pushes to check if 0e1dde1 also passes CI? (if it doesn't, then they should be squashed into 1)

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lytico

lytico commented Jan 19, 2021

Copy link
Copy Markdown
Member

nice!

centos was fine, add it again? https://github.com/dotdevelop/dotdevelop/actions/runs/446259191

https://github.com/lextm/dotdevelop/blob/878a534e914362df95bbc1c1861d84329b8c7324/.github/workflows/monodevelop.yml#L13-L37

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lextm

lextm commented Jan 19, 2021

Copy link
Copy Markdown
Author

@lytico I plan to add CentOS and Fedora in a separate pull request.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

knocte
knocte reviewed Jan 19, 2021
View reviewed changes
Comment thread .github/workflows/monodevelop.yml
sudo apt-get update
sudo apt-get install -y sed build-essential intltool fsharp gtk-sharp2
sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:git-core/ppa -y

@knocte knocte Jan 19, 2021

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the 20.04 build was working already without the need to depend on a PPA; I guess the PPA is needed only for the older ubuntu versions? if so, it's better to not add in this CI lane

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@knocte knocte Jan 20, 2021

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lextm confirmed, please remove the ppa line from the 20.04 build

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@knocte

knocte commented Jan 19, 2021

Copy link
Copy Markdown
Member

Can you do two pushes to check if 0e1dde1 also passes CI? (if it doesn't, then they should be squashed into 1)

FYI I've copied your branch to my fork, but doing one push per commit, and the first commit breaks CI:
https://github.com/knocte/monodevelop/commits/ubuntu-ci

So this is proof that, strictly speaking, the commits should be squashed into one before merging (or when merging). Having all commits pass CI is a good practice, to easean the work of future developers when bisecting problems.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lytico
lytico changed the base branch from dotdevelop_oe_8.6 to main January 19, 2021 15:07
@lextm lextm mentioned this pull request Jul 10, 2021
Install full software environment explicitly into the CI rather than rely … #65
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

1 more reviewer
@knocte knocte knocte left review comments
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@lextm @knocte @lytico
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.