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

Unbreak CI after v3 merge (addresses #952) #958

Closed
wants to merge 26 commits into from
Closed

Unbreak CI after v3 merge (addresses #952) #958

wants to merge 26 commits into from

Conversation

sshine
Copy link
Contributor

@sshine sshine commented Feb 26, 2021

After #936, CI no longer works.

This PR addresses the master -> main branch rename, as well as the fact that configlet lint will currently break because config.json does not conform to the v3 format. Rather than to make it conform, we add continue-on-error: true to the GitHub Action so that the GitHub Actions failures that affect exercises can be addressed.

@sshine sshine added bug v3-migration 🤖 Preparing for Exercism v3 labels Mar 4, 2021
@Javran
Copy link

Javran commented Mar 11, 2021

I'm just curious and took a look at the error logs - it looks like it's getting closer to being fixed - and I wish I can comment on unchanged lines rather than posting this as a general comment.

In - name: Check exercises section of the GitHub workflow config, this:

for exercise in ${{ github.workspace }}/exercises/*/; do

is broken probably due to exercises changing locations, which are now located under exercises/practice/*/ ?

.github/workflows/tests.yml Outdated Show resolved Hide resolved
sshine added 18 commits March 12, 2021 14:12
Rename the script into

```
bin/ensure-practice-exercise-descriptions-are-synced.sh
```

since what was once exercises are now called practice exercises. That
which is called concept exercises is not shared between tracks, and so
syncing their descriptions is not well-defined.

This commit preserves the `override_message`:

```
override_message="I have confirmed ... no README check ..."
```

(censored to avoid triggering CI) in order to not pick a new slogan.

While exercism/configlet#179 is being resolved, the only thing we can
test is that each practice exercise has an instructions.md, which is the
only description file that is always present after #950.
Either 'configlet lint' will report if formatting is wrong, or we could
use 'jq' to check basic formatting. Before a decision is made, removing
bin/check-configlet-fmt.sh unbreaks CI.
Rename this to contain "-are" like

ensure-practice-exercise-descriptions-are-synced.sh

Also, chmod +x it.
This should be moved into a separate PR, since it involves a decision to
keep this string in one place rather than extract it from the exercises.

This also avoids the 'yq' dependency.
Add note wrt. concept exercises and UUIDs.
This was only needed while I was doing pre-PR testing.
This was temporarily disabled, let's see if it causes trouble now.
We may or may not want to have these problems fixed in this PR.
To avoid scope creep, adding the full list of tags is addressed in #939.

Note that the formatting of config.json used to be maintained by

```
configlet fmt
```

which is not available in configlet-4.0.0-alpha.4 for v3 tracks.

I've tried to emulate the formatting present in config.json already, but
we currently do not validate formatting in the same way as we used to.
While the purpose of this is to check out the history far enough back to
compare against 'main' (formerly 'master'), it seems that we end up *on*
'main'?
Let's try with just including the entire git history, meh.
@sshine
Copy link
Contributor Author

sshine commented Mar 15, 2021

This PR has a little scope creep, but mostly fixes CI.

Unfortunately I will not be able to finish it.

I am closing this PR to motivate that it is either reopened by someone who wants to perform the last bits, or redone.

@sshine sshine closed this Mar 15, 2021
@Javran
Copy link

Javran commented Mar 15, 2021

Thanks for all the work! I'm interested and might take a look - seems like tests are all passing - could you be more specific about what needs to be done in this last bit?

@petertseng
Copy link
Member

I have taken most of these commits, squashed them appropriately, and put them in #981. But I did not choose to take
"Unbreak CI: Create JSON file with canonical stack resolver setting" because the resolver check script also uses yq, so we can't just remove yq like that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug v3-migration 🤖 Preparing for Exercism v3
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants