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

Github Actions #230

Closed
ffoodd opened this issue Nov 19, 2019 · 7 comments
Closed

Github Actions #230

ffoodd opened this issue Nov 19, 2019 · 7 comments
Assignees

Comments

@ffoodd
Copy link
Contributor

ffoodd commented Nov 19, 2019

I'm for now removing some Bootstrap's actions in Github workflows, since they require to authorize access to the Orange-OpenSource organization.

- name: Run bundlesize
  run: npm run bundlesize
  if: matrix.node == 8
  env:
     BUNDLESIZE_GITHUB_TOKEN: "${{ secrets.BUNDLESIZE_GITHUB_TOKEN }}"

- name: Run BrowserStack tests
  run: npm run js-test-cloud
  if: matrix.node == 8 && github.repository == 'twbs/bootstrap' && github.event_name == 'push'
  env:
    BROWSER_STACK_ACCESS_KEY: "${{ secrets.BROWSER_STACK_ACCESS_KEY }}"
    BROWSER_STACK_USERNAME: "${{ secrets.BROWSER_STACK_USERNAME }}"

- name: Run Coveralls
  run: npm run coveralls
  if: matrix.node == 8 && github.repository == 'twbs/bootstrap' && github.event_name == 'push'
  env:
    COVERALLS_REPO_TOKEN: "${{ secrets.COVERALLS_REPO_TOKEN }}"
    COVERALLS_GIT_BRANCH: "${{ github.ref }}"

I f we want to get this working, we need to provide access to bundlesize, Borwser Stack (ot run JS karma tests) and Coveralls.

Dropping this to keep things going on, but definetely need to think about it.

Bundlesize

See "Build statuses" in their README.

BrowserStack

They have a whole documentation for Github integration.

@ffoodd ffoodd self-assigned this Nov 19, 2019
@ffoodd
Copy link
Contributor Author

ffoodd commented Nov 19, 2019

FWIW, Bootstrap removed Travis CI while adding Github Actions: twbs/bootstrap@9abaafa

@ffoodd
Copy link
Contributor Author

ffoodd commented Nov 19, 2019

I asked for Oauth access to Orange-OpenSource organization for the following Github Actions:

  • Coveralls
  • Bundlesize
  • BrowserStack

@bbailleux @odd22 Could any of you step in to grant access, please?

@odd22
Copy link
Member

odd22 commented Nov 19, 2019 via email

@ffoodd
Copy link
Contributor Author

ffoodd commented Nov 19, 2019

@odd22 je vais essayer d’être exhaustif, mais n’ayant pas reçu les demandes d’accès je ne peux pas garantir l’exactitude de certains points.

Concernant la restriction, a priori oui mais je n’ai pas la capacité de vérifier. Il y a une portée et une granularité dans les permission (documentés ici) mais je n’ai pas l’impression qu’on puisse restreindre explicitement.

Il est possible de les activer avec mon profil (et ainsi restreindre la portée des accès), en revanche je cherche précisément à éviter ça : je me retrouve pour l’instant coincé avec l’intégration de Travis qui a été ajoutée via le profil de @Lausselloic, par exemple.

Concernant les données, c’est normalement les commits et pull requests : je ne crois pas qu’il y ait autre chose (à vérifier dans les demandes d’accès).

Le but est ce m’importe le plus, évidemment : dans les faits, Bootstrap a basculé de Travis vers les Actions Github, nous entraînant dans ce mouvement. Soit on dérive complètement sur cette partie et persistons avec Travis (mais augmentons la difficulté de maintenance), soit on suit le mouvement (et je penche pour cette option).

Concrètement, ça signifie que les quelques outils tiers utilisés pour les tests, qui étaient branchés sur Travis, doivent l’être sur Github (d’où les demandes d’accès).

Pour les fonctionnalités :

  • Bundlesize compare le poids des fichiers de sortie avec un référentiel, permettant de mettre un véto à la fusion de fichiers trop volumineux — c’était intégré à Travis jusque là et dans l’environnement local ;
  • BrowserStack permet de faire des tests de compatibilité navigateur, et dispose de plusieurs API, dont celle qui requière des accès permet de dérouler les tests fonctionnels JS ;
  • CoverAlls permet de dérouler et mesurer le taux de couverture de tests unitaires JS.

Bootstrap a basculé vers cette solution sans avoir à se poser la question de la capillarité avec le reste de l’organisation, puisqu’elle est centrée sur leur dépôt. J’espère que nous pourrons suivre ce changement ; dans le pire des cas, je me passerai de l’intégration de ces outils et me limiterai au déroulement de ces tests en pre-release (ou ré-intégrer Travis partiellement pour ces tâches spécifiques).

@ffoodd
Copy link
Contributor Author

ffoodd commented Nov 19, 2019

J’essaie avec des jetons personnels pour Bundlesize et BrowserStack sur la #234 mais ça n’a pas l’air de fonctionner…

@bbailleux
Copy link
Member

bbailleux commented Nov 19, 2019 via email

@ffoodd
Copy link
Contributor Author

ffoodd commented Nov 20, 2019

Bien entendu, merci. J’ai bien reçu les confirmations donc je vais dérouler les premiers tests sur ma PR, mais j’ai une première indication dans la confirmation d’accès : comme je les ai autorisées personnellement également — et que pour le moment j’utilise mes jetons privés — ces applications ne devraient pas avoir plus de permissions que moi-même (donc seulement admin sur quelques dépôts de l’équipe accessibilité, sauf erreur de ma part).

Je vous invite à me dire si vous remarquez le moindre changement, je reste attentif également.

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

No branches or pull requests

3 participants