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

[ci] use GitHub Actions for R CI jobs (fixes #2353) #3119

Merged
merged 95 commits into from
Jun 1, 2020

Conversation

jameslamb
Copy link
Collaborator

NOTE: moved from #3116 to use a branch on LightGBM instead of my fork.


This PR proposes adding GitHub Actions CI and moving all R jobs to it.

GitHub Actions gives you 20 concurrent jobs for free and access to Mac, Linux, and Windows environments.

See #2353 and discussion in this thread: #3065 (comment)

This PR should improve CI times (since AppVeyor runs tasks sequentially and now those tasks will be run concurrently), and should give enough extra CI capacity to test more installation paths for the R package(like R 3.6.x AND R 4.0.0x on #3065 )

Summary of Changes

  • move lint job from Travis to GitHub Actions
  • remove R Linux and Mac CI jobs from Azure
  • remove R jobs from AppVeyor
  • remove R jobs from Travis
  • add 6 R jobs to GitHub Actions:
    • Windows, MSVC
    • Windows, MINGW
    • Mac, gcc
    • Mac, clang
    • Linux, gcc
    • Linux, clang
  • add .ci/download-miktex.R, to make miktexsetup.zip downloads more reliable

Notes for reviewers

Fail-fast behavior when possible. For pwsh and powershell built-in shell, we will prepend $ErrorActionPreference = 'stop' to script contents.

Other references

@jameslamb
Copy link
Collaborator Author

I'm very confused by this message in the mac jobs:

2020-05-26T01:27:32.9754024Z ##[section]Starting: Request a runner to run this job
2020-05-26T01:27:33.1353554Z Can't find any online and idle self-hosted runner in current repository that matches the required labels: 'macOS-latest'
2020-05-26T01:27:33.1353596Z Can't find any online and idle self-hosted runner in current repository's account/organization that matches the required labels: 'macOS-latest'
2020-05-26T01:27:33.1353625Z Found online and idle hosted runner in current repository's account/organization that matches the required labels: 'macOS-latest'
2020-05-26T01:27:33.2796936Z ##[section]Finishing: Request a runner to run this job

That is not something I saw on my fork with the exact same main.yml.

For the Failed windows + MINGW job, this error is really frustrating:

image

Basically sometimes if a process writes to stderr (but did not fail), it causes a build failure. And sometimes it doesn't. I already put in a support request with GitHub support but I expect it will take a while until they get back to me. Maybe reviewers with more powershell experience than me can see something problematic that I'm doing or suggest other ideas.

@jameslamb
Copy link
Collaborator Author

I learned tonight that there if any task in GitHub Actions fails, all tasks must be re-run.

Because of that, for now I'm going to put lint back on Travis. It would be no fun to have to re-run all of the Github Actions jobs just because lint failed. Travis lets us re-run individual steps.

@jameslamb
Copy link
Collaborator Author

I spent a few hours today trying to get around errors like this on the Windows jobs and couldn't get them to reliably pass:

image

I seems that sometimes processes writing to stderr cause Windows builds to fail and sometimes they don't. I tried all these things

  • Use cmd /c "powershell..." instead of the script directly
  • redirecting stderr to stdout with 2>&1
  • using | Out-String -Stream piping in various places
  • using | Out-Null piping in various places
  • switching to shell: cmd and running powershell.exe ... .ci/test_windows.ps1

At this point, I'm out of ideas and haven't found any other tips from search engines. Hopefully GitHub Support will respond to me this week.

For reviewers, here are other links I found while investigating that held possible answers.

Suggestions welcomed!

@StrikerRUS
Copy link
Collaborator

@jameslamb

At this point, I'm out of ideas and haven't found any other tips from search engines.

Maybe
WarningAction or ErrorAction can help?

@jameslamb
Copy link
Collaborator Author

@jameslamb

At this point, I'm out of ideas and haven't found any other tips from search engines.

Maybe
WarningAction or ErrorAction can help?

The ErrorAction parameter overrides the value of the $ErrorActionPreference variable for the current command

That sounds exactly what I need! Thank you! I'll try that tonight.

@jameslamb
Copy link
Collaborator Author

I tried many things tonight and still cannot get Windows jobs to reliably succeed.

At this point I just don't believe the documentation saying that overriding the default shell: will disable GitHub Actions' "fail-fast" behavior of "anytime anything in a powershell process is written to stderr, fail the build". I even tried this complicated shell command from this forum response, with no luck.

I'm going to look around for other R packages using GitHub Actions and see if I can pick up any tricks.

@jameslamb
Copy link
Collaborator Author

covruses a bunch of custom "use R" actions, and then usesRscriptas a shell (https://github.com/r-lib/covr/blob/master/.github/workflows/R-CMD-check.yaml). I really don't like this because so much of the logic is in the workflow.yaml`, not scripts you can use in other environments.

I also found this absolutely cursed description of error handling in Powershell. It is very complicated, and seems like there is even an issue where setting $ErrorActionPreference in your code can be completely ignored if it's inside some larger try-catch (the GitHub Actions docs imply that they run your code in such a try-catch to enable "fail-fast" behavior)

@jameslamb
Copy link
Collaborator Author

Ok I have some evidence of what I suspected to be true: the way GitHub Actions powershell handles treatment of stderr is nondeterministic!! I just pushed a commit on my fork that redirects the output of Rscript -e "install.packages(..." to $null. This is an extreme example of suppressing stderr.

Then I pushed 10 empty commits.

commit build MINGW build MSVC build
link link
link link ❌ (ERR1)
link link ❌ (ERR2)
link link ❌ (ERR1) ❌ (ERR2)
link link ❌ (ERR1)
link link ❌ (ERR1)
link link
link link ❌ (ERR1)
link link ❌ (ERR1)
link link ❌ (ERR1)

I really really think these "errors" are just "some code writing benign messages to stderr", and not actual failures of the calls. The two types of errors I encountered are shown below. The most common is what I've called ERR1, which comes from the use of message() inside install.packages(). I have not had success suppressing this output by using install.packages(..., quiet = TRUE, verbose = FALSE).

ERR1

image

ERR2

image

Given this finding, I'm sad to say that at this point, we should not move any of the Windows CI builds too GitHub Actions. It is too unreliable.

I'm planning to freeze the PR on my fork and use it in a post on the Github Actions Community Forum. If that post returns any useful information, or GitHub Support ever responds to the ticket I submitted, maybe we'll be able to add GitHub Actions jobs for Windows in the future.

@jameslamb
Copy link
Collaborator Author

I've created a GitHub Community Forum post with the contents of #3119 (comment): https://github.51.almunity/t/powershell-steps-fail-nondeterministically/115496

@StrikerRUS
Copy link
Collaborator

@jameslamb Seems that we are not alone! Check this ticket: https://github.51.almunity/t/windows-builds-failing-randomly/18172.

The proposed solution is "great":

Solution: Don’t use PowerShell.

😄

@StrikerRUS
Copy link
Collaborator

StrikerRUS commented May 27, 2020

BTW, did you try to set -ErrorAction:SilentlyContinue (not just Continue)?

@jameslamb
Copy link
Collaborator Author

BTW, did you try to set -ErrorAction:SilentlyContinue (not just Continue)?

I did! No luck :(

I think we should use this PR just for Linux / Mac builds. It will still help us get more coverage (like all combinations of R version and compiler), and we can come back and add Windows if / when GitHub responds to me. What do you think?

@jameslamb
Copy link
Collaborator Author

@StrikerRUS I got some very quick help on that GitHub Forum post about this issue!! https://github.51.almunity/t/powershell-steps-fail-nondeterministically/115496/4?u=jameslamb

It seems that GitHub Actions is using a version of Powershell which may have introduced a regression in the handling of this issue: PowerShell/PowerShell#11036

In this PR, I'm going to revert all the Windows-specific changes and make this PR just Mac and Linux. That will at least cut some of the burden on Travis and make it easier to add tests on R 4.0, CRAN, etc.

Copy link
Collaborator

@StrikerRUS StrikerRUS left a comment

Choose a reason for hiding this comment

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

Thanks a lot @jameslamb !

Great job!

One question. Will GitHub Actions be used exclusively for R-package tests? Or we may use this CI service for other tests in the future? If later, please push a test commit with

    - TASK=regular
    - TASK=sdist
    - TASK=bdist
    - TASK=if-else
    - TASK=lint
    - TASK=check-docs
    - TASK=mpi METHOD=source
    - TASK=mpi METHOD=pip
    - TASK=gpu METHOD=source
    - TASK=gpu METHOD=pip

tasks to ensure that everything works OK. After that test swapped compilers as well.

@@ -0,0 +1,55 @@
name: GitHub Actions

on: [push]
Copy link
Collaborator

Choose a reason for hiding this comment

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

Will it work for PRs?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

You're right! I think to avoid problems like #3096 , we want this:

on:
  push:
    branches:
    - master
  pull_request:
    branches:
    - master

source: https://github.51.almunity/t/how-to-trigger-an-action-on-push-or-pull-request-but-not-both/16662/2?u=jameslamb

So push: branches: master will build when we merge to master and pull_request: branches: master will only build on pull requests into master.

more references:

I've been reading Events that trigger workflows.

I think we'll get a pull_request event when a PR is opened (doc):

image

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

one other thing...after this is merged, a repo admin with more permissions than me will need to make these checks required on pull requests

image

That can be done by going to Settings --> Branches and then clicking Edit on master. Screenshots below are from a personal repo of mine, just to show the interface

image

image

.github/workflows/main.yml Outdated Show resolved Hide resolved
@jameslamb
Copy link
Collaborator Author

jameslamb commented May 29, 2020

please push a test commit with

    - TASK=regular
    - TASK=sdist
    - TASK=bdist
    - TASK=if-else
    - TASK=lint
    - TASK=check-docs
    - TASK=mpi METHOD=source
    - TASK=mpi METHOD=pip
    - TASK=gpu METHOD=source
    - TASK=gpu METHOD=pip

tasks to ensure that everything works OK. After that test swapped compilers as well.

I am proposing in this PR that we use it for R packages. The results of trying sdist, mpi, etc. are interesting but they won't change the content of this PR. I think anyone who wants to propose a PR after this that adds non-R tests is welcome to do so, but my taking time to try those is not worth it.

@StrikerRUS
Copy link
Collaborator

@jameslamb

I am proposing in this PR that we use it for R packages.

OK. You removed [[ $TRAVIS == "true" ]] condition from lint and check-docs tasks, so I thought this is a preparation for general usasge of GitHub Actions you tried to run them there.

@jameslamb
Copy link
Collaborator Author

@jameslamb

I am proposing in this PR that we use it for R packages.

OK. You removed [[ $TRAVIS == "true" ]] condition from lint and check-docs tasks, so I thought this is a preparation for general usasge of GitHub Actions you tried to run them there.

ohhh right! Sorry, that was before #3119 (comment)

I'll undo those changes

@jameslamb jameslamb requested a review from StrikerRUS May 30, 2020 01:42
Copy link
Collaborator

@StrikerRUS StrikerRUS left a comment

Choose a reason for hiding this comment

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

@jameslamb Wow! Awesome job! Thanks a lot for setting up GitHub Actions with a such neat solution and small-diff PR!

Two comments below for your consideration:

.github/workflows/main.yml Outdated Show resolved Hide resolved
.github/workflows/main.yml Outdated Show resolved Hide resolved
@jameslamb
Copy link
Collaborator Author

Thanks for the review! As soon as we merge #3133 it should fix Travis here

@jameslamb
Copy link
Collaborator Author

Just rebased to master to get changes from #3133 . Will merge this if it builds successfully

@jameslamb
Copy link
Collaborator Author

All checks passed! I checked the logs in GitHub Actions (just to be sure we weren't getting a false ✔️ ) and all looks good!

Thanks for the review @StrikerRUS . I'm really excited about this one

@jameslamb jameslamb merged commit bcbf252 into master Jun 1, 2020
@StrikerRUS
Copy link
Collaborator

StrikerRUS commented Jun 2, 2020

@guolinke Please make GitHub Actions required to merge PRs: #3119 (comment)

@StrikerRUS StrikerRUS deleted the ci/github-actions branch June 2, 2020 00:21
@StrikerRUS
Copy link
Collaborator

@jameslamb

It seems that GitHub Actions is using a version of Powershell which may have introduced a regression in the handling of this issue:

Have you tried PS Core for Windows jobs?

@jameslamb
Copy link
Collaborator Author

I did :/

But there are enough dimensions that maybe I missed a combination in testing.

  • pwsh vs. powershell
  • multiple different places to put $ErrorActionPreference
  • multiple places to use -ErrorAction flag
  • multiple places to redirect output (Out-String, Out-Null, a file, $null)

@StrikerRUS
Copy link
Collaborator

I did :/

Ah, OK! 🙁 I was hoping that pwsh is bug-free.

@StrikerRUS
Copy link
Collaborator

StrikerRUS commented Jun 2, 2020

@jameslamb I see this error in ubuntu-latest clang job (master branch) for the second time today. Is it temporary issue or we should/can do something?

2020-06-02T18:10:40.2808219Z Warning: apt-key output should not be parsed (stdout is not a terminal)
2020-06-02T18:10:41.1774648Z Executing: /tmp/apt-key-gpghome.xOrvqUcSQ1/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
2020-06-02T18:10:42.1830718Z gpg: connecting dirmngr at '/tmp/apt-key-gpghome.xOrvqUcSQ1/S.dirmngr' failed: IPC connect call failed
2020-06-02T18:10:42.1831254Z gpg: keyserver receive failed: No dirmngr
2020-06-02T18:10:43.5661919Z Hit:1 http://azure.archive.ubuntu.com/ubuntu bionic InRelease
2020-06-02T18:10:43.5663330Z Get:2 http://azure.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
2020-06-02T18:10:43.5678226Z Get:3 http://azure.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
2020-06-02T18:10:43.5801909Z Get:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
2020-06-02T18:10:43.5818619Z Get:5 https://packages.microsoft.com/repos/azure-cli bionic InRelease [3964 B]
2020-06-02T18:10:43.5819955Z Get:6 https://packages.microsoft.com/ubuntu/18.04/prod bionic InRelease [4002 B]
2020-06-02T18:10:43.5821889Z Get:7 https://storage.googleapis.com/bazel-apt stable InRelease [2256 B]
2020-06-02T18:10:43.5823725Z Get:8 http://dl.google.com/linux/chrome/deb stable InRelease [1811 B]
2020-06-02T18:10:43.5826034Z Get:9 http://packages.cloud.google.com/apt cloud-sdk InRelease [6346 B]
2020-06-02T18:10:43.5848813Z Ign:10 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 InRelease
2020-06-02T18:10:43.5851178Z Hit:11 https://download.mono-project.com/repo/ubuntu stable-bionic InRelease
2020-06-02T18:10:43.5877180Z Get:12 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 Release [3951 B]
2020-06-02T18:10:43.5884697Z Get:13 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease [3626 B]
2020-06-02T18:10:43.5914494Z Hit:15 https://dl.yarnpkg.com/debian stable InRelease
2020-06-02T18:10:43.6032180Z Hit:14 https://cli-assets.heroku.com/apt ./ InRelease
2020-06-02T18:10:43.6520926Z Hit:17 http://ppa.launchpad.net/ansible/ansible/ubuntu bionic InRelease
2020-06-02T18:10:43.6791218Z Get:18 http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_18.04  InRelease [1613 B]
2020-06-02T18:10:43.6823450Z Get:19 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 Release.gpg [801 B]
2020-06-02T18:10:43.7620846Z Get:16 https://packages.cloud.google.com/apt kubernetes-xenial InRelease [8993 B]
2020-06-02T18:10:43.8010716Z Hit:20 http://ppa.launchpad.net/apt-fast/stable/ubuntu bionic InRelease
2020-06-02T18:10:43.8179390Z Get:22 http://azure.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [951 kB]
2020-06-02T18:10:43.8602952Z Get:23 http://azure.archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [324 kB]
2020-06-02T18:10:43.8678478Z Get:24 http://azure.archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [55.3 kB]
2020-06-02T18:10:43.8707038Z Get:25 http://azure.archive.ubuntu.com/ubuntu bionic-updates/restricted Translation-en [13.8 kB]
2020-06-02T18:10:43.8707990Z Get:26 http://azure.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1077 kB]
2020-06-02T18:10:43.8987524Z Get:27 http://azure.archive.ubuntu.com/ubuntu bionic-updates/universe Translation-en [335 kB]
2020-06-02T18:10:43.9068304Z Get:28 http://azure.archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [15.7 kB]
2020-06-02T18:10:43.9077332Z Get:29 http://azure.archive.ubuntu.com/ubuntu bionic-updates/multiverse Translation-en [6384 B]
2020-06-02T18:10:43.9425254Z Hit:21 https://packagecloud.io/github/git-lfs/ubuntu bionic InRelease
2020-06-02T18:10:43.9513665Z Get:30 http://ppa.launchpad.net/git-core/ppa/ubuntu bionic InRelease [20.7 kB]
2020-06-02T18:10:43.9534186Z Ign:31 https://dl.bintray.com/sbt/debian  InRelease
2020-06-02T18:10:44.0395038Z Get:32 https://dl.bintray.com/sbt/debian  Release [815 B]
2020-06-02T18:10:44.0619054Z Get:33 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [727 kB]
2020-06-02T18:10:44.1134380Z Get:34 http://security.ubuntu.com/ubuntu bionic-security/main Translation-en [230 kB]
2020-06-02T18:10:44.1176394Z Get:35 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [45.7 kB]
2020-06-02T18:10:44.1192836Z Get:36 http://security.ubuntu.com/ubuntu bionic-security/restricted Translation-en [11.4 kB]
2020-06-02T18:10:44.1199543Z Get:37 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [669 kB]
2020-06-02T18:10:44.1268458Z Get:38 https://dl.bintray.com/sbt/debian  Release.gpg [821 B]
2020-06-02T18:10:44.1395645Z Get:39 http://security.ubuntu.com/ubuntu bionic-security/universe Translation-en [222 kB]
2020-06-02T18:10:44.1465413Z Get:40 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [7596 B]
2020-06-02T18:10:44.1470683Z Get:41 http://security.ubuntu.com/ubuntu bionic-security/multiverse Translation-en [2824 B]
2020-06-02T18:10:44.1547246Z Get:42 https://packages.microsoft.com/repos/azure-cli bionic/main amd64 Packages [9448 B]
2020-06-02T18:10:44.1815270Z Get:43 http://ppa.launchpad.net/hvr/ghc/ubuntu bionic InRelease [15.3 kB]
2020-06-02T18:10:44.2560029Z Get:44 https://packages.microsoft.com/ubuntu/18.04/prod bionic/main amd64 Packages [113 kB]
2020-06-02T18:10:44.3302196Z Get:45 http://ppa.launchpad.net/ondrej/php/ubuntu bionic InRelease [20.8 kB]
2020-06-02T18:10:44.3604866Z Err:7 https://storage.googleapis.com/bazel-apt stable InRelease
2020-06-02T18:10:44.3605400Z   The following signatures were invalid: EXPKEYSIG 3D5919B448457EE0 Bazel Developer (Bazel APT repository key) <bazel-dev@googlegroups.com>
2020-06-02T18:10:44.4824047Z Get:46 http://dl.google.com/linux/chrome/deb stable/main amd64 Packages [1123 B]
2020-06-02T18:10:44.5356828Z Get:47 http://packages.cloud.google.com/apt cloud-sdk/main amd64 Packages [111 kB]
2020-06-02T18:10:44.5610370Z Get:48 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic InRelease [15.4 kB]
2020-06-02T18:10:44.7332779Z Err:13 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease
2020-06-02T18:10:44.7335967Z   The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 51716619E084DAB9
2020-06-02T18:10:45.2395870Z Get:49 http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_18.04  Packages [4164 B]
2020-06-02T18:10:45.2588809Z Get:50 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2/multiverse amd64 Packages [5882 B]
2020-06-02T18:10:45.2945012Z Get:51 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2/multiverse arm64 Packages [5872 B]
2020-06-02T18:10:45.4179067Z Get:52 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 Packages [36.1 kB]
2020-06-02T18:10:45.8123229Z Get:53 http://ppa.launchpad.net/git-core/ppa/ubuntu bionic/main amd64 Packages [3032 B]
2020-06-02T18:10:46.0214724Z Get:54 http://ppa.launchpad.net/hvr/ghc/ubuntu bionic/main amd64 Packages [10.7 kB]
2020-06-02T18:10:46.2241211Z Get:55 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main amd64 Packages [33.9 kB]
2020-06-02T18:10:46.8474173Z Get:56 https://dl.bintray.com/sbt/debian  Packages [4303 B]
2020-06-02T18:10:51.5469775Z Reading package lists...
2020-06-02T18:10:51.5845251Z W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://storage.googleapis.com/bazel-apt stable InRelease: The following signatures were invalid: EXPKEYSIG 3D5919B448457EE0 Bazel Developer (Bazel APT repository key) <bazel-dev@googlegroups.com>
2020-06-02T18:10:51.5846293Z W: GPG error: https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 51716619E084DAB9
2020-06-02T18:10:51.5846708Z E: The repository 'https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease' is not signed.
2020-06-02T18:10:51.8093782Z Hit:1 http://azure.archive.ubuntu.com/ubuntu bionic InRelease
2020-06-02T18:10:51.8094821Z Hit:2 http://azure.archive.ubuntu.com/ubuntu bionic-updates InRelease
2020-06-02T18:10:51.8095512Z Hit:3 http://azure.archive.ubuntu.com/ubuntu bionic-backports InRelease
2020-06-02T18:10:51.8096472Z Get:4 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease [3626 B]
2020-06-02T18:10:51.8097155Z Hit:5 https://packages.microsoft.com/repos/azure-cli bionic InRelease
2020-06-02T18:10:51.8097590Z Hit:6 https://packages.microsoft.com/ubuntu/18.04/prod bionic InRelease
2020-06-02T18:10:51.8098197Z Get:7 https://storage.googleapis.com/bazel-apt stable InRelease [2256 B]
2020-06-02T18:10:51.8098630Z Hit:8 http://dl.google.com/linux/chrome/deb stable InRelease
2020-06-02T18:10:51.8099223Z Hit:9 http://packages.cloud.google.com/apt cloud-sdk InRelease
2020-06-02T18:10:51.8099893Z Hit:10 https://download.mono-project.com/repo/ubuntu stable-bionic InRelease
2020-06-02T18:10:51.8131470Z Hit:12 https://dl.yarnpkg.com/debian stable InRelease
2020-06-02T18:10:51.8166292Z Hit:11 https://cli-assets.heroku.com/apt ./ InRelease
2020-06-02T18:10:51.8216655Z Ign:13 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 InRelease
2020-06-02T18:10:51.8246957Z Hit:14 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 Release
2020-06-02T18:10:51.8942926Z Hit:16 http://ppa.launchpad.net/ansible/ansible/ubuntu bionic InRelease
2020-06-02T18:10:51.9188767Z Hit:15 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
2020-06-02T18:10:51.9300677Z Hit:17 http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_18.04  InRelease
2020-06-02T18:10:51.9801496Z Hit:18 http://security.ubuntu.com/ubuntu bionic-security InRelease
2020-06-02T18:10:52.0432740Z Hit:19 http://ppa.launchpad.net/apt-fast/stable/ubuntu bionic InRelease
2020-06-02T18:10:52.1927694Z Hit:21 http://ppa.launchpad.net/git-core/ppa/ubuntu bionic InRelease
2020-06-02T18:10:52.2411909Z Ign:22 https://dl.bintray.com/sbt/debian  InRelease
2020-06-02T18:10:52.2636764Z Err:4 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease
2020-06-02T18:10:52.2637485Z   The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 51716619E084DAB9
2020-06-02T18:10:52.2696607Z Hit:20 https://packagecloud.io/github/git-lfs/ubuntu bionic InRelease
2020-06-02T18:10:52.3251894Z Get:23 https://dl.bintray.com/sbt/debian  Release [815 B]
2020-06-02T18:10:52.3474302Z Hit:24 http://ppa.launchpad.net/hvr/ghc/ubuntu bionic InRelease
2020-06-02T18:10:52.4972769Z Hit:25 http://ppa.launchpad.net/ondrej/php/ubuntu bionic InRelease
2020-06-02T18:10:52.5650536Z Err:7 https://storage.googleapis.com/bazel-apt stable InRelease
2020-06-02T18:10:52.5655136Z   The following signatures were invalid: EXPKEYSIG 3D5919B448457EE0 Bazel Developer (Bazel APT repository key) <bazel-dev@googlegroups.com>
2020-06-02T18:10:52.6461741Z Hit:26 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic InRelease
2020-06-02T18:10:55.3597152Z Reading package lists...
2020-06-02T18:10:55.3957977Z W: GPG error: https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 51716619E084DAB9
2020-06-02T18:10:55.3959024Z E: The repository 'https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease' is not signed.
2020-06-02T18:10:55.3960284Z W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://storage.googleapis.com/bazel-apt stable InRelease: The following signatures were invalid: EXPKEYSIG 3D5919B448457EE0 Bazel Developer (Bazel APT repository key) <bazel-dev@googlegroups.com>
2020-06-02T18:10:55.4884891Z Reading package lists...
2020-06-02T18:10:55.6280855Z Building dependency tree...
2020-06-02T18:10:55.6294969Z Reading state information...
2020-06-02T18:10:55.7373376Z E: Version '3.6.3-1bionic' for 'r-base-dev' was not found
2020-06-02T18:10:55.7411495Z ##[error]Process completed with exit code 255.
2020-06-02T18:10:55.7424680Z Cleaning up orphan processes

@jameslamb
Copy link
Collaborator Author

@StrikerRUS I've never seen this exact error before. I have occasionally seen issues with the r-base-dev Ubuntu packages where they'll be temporarily unavailable during some kind of maintenance, but I've never seen a re-run fail (in other words, it's usually only a few minutes and I've never seen the package be unavailable for back-to-back CI runs).

It seems like there was a successful build on #3140 that is more recent than your comment, so hopefully this was something temporary?

@StrikerRUS
Copy link
Collaborator

StrikerRUS commented Jun 2, 2020

I hope so. But it was strange:
075513f - fail
rerun 075513f - OK
< wait to finish previous rerun>
a2a38b6 - fail
rerun a2a38b6 - OK

ChipKerchner pushed a commit to ChipKerchner/LightGBM that referenced this pull request Jun 10, 2020
…ft#3119)

* GitHub Actions

* ok

* fixing on list

* stuff

* directories

* directories

* things

* env variables

* working dir

* running a bunch of tasks

* more builds

* PATH

* actually use R task

* TASK

* be right, often

* doing stuff

* trying stuff

* more paths

* conda activate

* updating PATH

* trying bash

* where the hell is activate

* WHERE IS ACTIVATE

* set up conda

* more conda

* PLEASE WORK

* installing cpplint

* try r-package

* R version

* try windows job

* make windows work

* use powershell

* exe

* use conda

* conda init powershell

* different conda approach

* make it work

* cleaning up

* init powershell

* fixing windows

* more windows

* build directory

* no way right

* maybe it will work

* trying Visual Studio

* do this

* Windows is interesting

* put back check-output

* set compiler

* stuff

* more fixes

* fix the broken things

* updating jobs

* continuing

* poweshell is bad

* ok so maybe not powershell

* cmon now

* ok so

* fixing env variables

* maybe this

* MINGW job

* cleaning up

* conda init powershell

* moving more R stuff into GitHub Actions

* everything else

* use powershell

* cmon now powershell

* ttry to Continue

* override powershell

* peg MiKTeX URL

* what is happening

* try powershell -File

* trying stuff

* path

* more testing of output

* Matches uppercase

* more regex stuff

* this is getting ridiculous

* back to powershell I guess

* more commands

* this might work

* adding more reliable miktex download

* trying to download miktex

* installing httr

* fix error in MiKTeX script

* remove comments

* redirect output

* redirect output

* move linting back to Travis

* change redirection

* switch back to just mac and linux

* put linting exclude back

* renamed R_TRAVIS_LINUX

* revert changes to non-R tasks and update events

* simplify
ChipKerchner pushed a commit to ChipKerchner/LightGBM that referenced this pull request Jun 11, 2020
…ft#3119)

* GitHub Actions

* ok

* fixing on list

* stuff

* directories

* directories

* things

* env variables

* working dir

* running a bunch of tasks

* more builds

* PATH

* actually use R task

* TASK

* be right, often

* doing stuff

* trying stuff

* more paths

* conda activate

* updating PATH

* trying bash

* where the hell is activate

* WHERE IS ACTIVATE

* set up conda

* more conda

* PLEASE WORK

* installing cpplint

* try r-package

* R version

* try windows job

* make windows work

* use powershell

* exe

* use conda

* conda init powershell

* different conda approach

* make it work

* cleaning up

* init powershell

* fixing windows

* more windows

* build directory

* no way right

* maybe it will work

* trying Visual Studio

* do this

* Windows is interesting

* put back check-output

* set compiler

* stuff

* more fixes

* fix the broken things

* updating jobs

* continuing

* poweshell is bad

* ok so maybe not powershell

* cmon now

* ok so

* fixing env variables

* maybe this

* MINGW job

* cleaning up

* conda init powershell

* moving more R stuff into GitHub Actions

* everything else

* use powershell

* cmon now powershell

* ttry to Continue

* override powershell

* peg MiKTeX URL

* what is happening

* try powershell -File

* trying stuff

* path

* more testing of output

* Matches uppercase

* more regex stuff

* this is getting ridiculous

* back to powershell I guess

* more commands

* this might work

* adding more reliable miktex download

* trying to download miktex

* installing httr

* fix error in MiKTeX script

* remove comments

* redirect output

* redirect output

* move linting back to Travis

* change redirection

* switch back to just mac and linux

* put linting exclude back

* renamed R_TRAVIS_LINUX

* revert changes to non-R tasks and update events

* simplify
@github-actions
Copy link

This pull request has been automatically locked since there has not been any recent activity since it was closed. To start a new related discussion, open a new issue at https://github.com/microsoft/LightGBM/issues including a reference to this.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants