Skip to content

Instantly share code, notes, and snippets.

@genisysram
Forked from ezeeyahoo/CommonHacks.md
Created December 29, 2020 15:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save genisysram/1b9f3b14aac507e62d5db1f2a38333b6 to your computer and use it in GitHub Desktop.
Save genisysram/1b9f3b14aac507e62d5db1f2a38333b6 to your computer and use it in GitHub Desktop.
Common Issues and workarounds

Do's and Don'ts

How to select a project to work on?

  1. Activity on a given project can be observed by looking at when the last commit was made.
  2. In case issues and pull requests are pending from long time, better skip that project as likelihood of being accepted is dismal. It is recommended to focus on hot cakes.

Project founder/contributer marked my post as spam

Ask yourself before making submissions:-

  1. My changes before commit are properly commented
  2. Am I making right commentary about the change and politely requesting for a review?
  3. Is my commit message going into PR rightly describe about the change I made?

Ex. Refrain from creating such PR sindresorhus/array-union#8


Dangerous

Block this links in your browser. DO NOT work on repository owned by these developers.

  1. https://github.com/sindresorhus
  2. https://github.com/webpack
  3. https://github.com/christophgysin

Guides

I am behind the main repository. How can I create PR now?

I was working on a change on my forked repository but before I can submit my change, main repository merged some changes from elsewhere and now I am not in sync or branch head is running some commits behind the main repository.

It is a common issue generally occur when developers choose to follow develop and release side by side model.

# show branches
$ git branch -v

# show remote sources
$ git remote -v

# add a new source stream
$ git remote add <name ex. upstream> <repository link ex. main repository link>

# check again
$git remote -v
 
# pull code from main repository
$ git pull <source name ex. upstream> <branch name generally same as current working branch>

# if changes are already commited, check logs
$ git log
# Here our commit must be on top.

# push changes
# git push <source name> <branch name>
ex.
$ git push origin master

# Now you can raise PR from web ui

Run for pypy version is failing

No problem, pypy versions are not available for LoP yet. Skip pypy version(s) or write it under exclude: of matrix/job.

Python job failed with error The archive may not exist.

Failure Message

Downloading archive: https://storage.googleapis.com/travis-ci-language-archives/python/binaries/ubuntu/20.04/ppc64le/python-3.7.tar.bz2
0.10s$ curl -sSf --retry 5 -o python-3.7.tar.bz2 ${archive_url}
curl: (22) The requested URL returned error: 404 
Unable to download 3.7 archive. The archive may not exist. Please consider a different version.

Resolution

Exclude the failing job

# Disable version 3.3, 3.2 & pypy on ppc64le
jobs: 
  exclude:
    - arch: ppc64le
      python: 3.3
    - arch: ppc64le
      python: 3.2
    - arch: ppc64le
      python: pypy2

Python versions available on ppc64le

Python xenial bionic focal
2.7 yes yes yes
3.0 no no no
3.1 no no no
3.2 no no no
3.3 no no no
3.4 yes no no
3.5 yes yes yes
3.6 yes yes yes
3.7 yes yes yes
3.8 yes yes yes
3.9 yes yes yes
nightly yes yes yes
pypy2 no no no
pypy3 no no no

For more info: https://docs.travis-ci.com/user/languages/python/

Go versions on travis

Go amd64 ppc64le
xenial 1.2.x and above 1.5.x and above
bionic 1.2.x and above 1.6.x and above
focal 1.2.x and above 1.6.x and above

Docs: https://docs.travis-ci.com/user/languages/go/

NodeJS Versions on Travis

nvm is used to install nodejs at runtime.

Nodejs amd64 ppc64le
0.6 to 0.12 yes no
4 to 15 yes yes
lts/* yes yes
node yes yes

Note

lts/*: latest LTS Node.js release node: latest stable Node.js release

Docs

https://docs.travis-ci.com/user/languages/javascript-with-nodejs/ https://docs.travis-ci.com/user/reference/xenial/#javascript-and-nodejs-support

Ruby versions on Travis

rvm is used to install ruby at runtime.

Xenial

Ruby amd64 ppc64le
1.7 yes yes
1.9 to 2.7 yes yes
jruby yes yes
truffleruby yes no

Bionic & Focal

Ruby amd64 ppc64le
1.7 yes yes
1.9 to 2.3 no no
2.4 yes no
2.5 yes no
2.6 yes yes
2.7 yes yes
jruby yes yes
truffleruby yes no

Ref

PHP Versions on Travis

phpenv is used to manage/install php versions at runtime.

Xenial

PHP amd64 ppc64le
5.6 yes yes
7.0 to 7.4 yes yes
8.0 yes yes
nightly yes yes

Bionic

PHP amd64 ppc64le
7.1 yes yes
7.2 yes yes
7.3 yes no
7.4 yes yes
8.0 yes yes
nightly yes yes

Focal

PHP amd64 ppc64le
7.4 yes yes
8.0 yes yes
nightly yes yes

Ref

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment