Skip to content

Commit

Permalink
Merge pull request #569 from DavidBruant/master
Browse files Browse the repository at this point in the history
Suppression de la dépendance en Travis CI et passage à github actions
  • Loading branch information
DavidBruant authored Sep 14, 2022
2 parents 55ef016 + d85b35a commit b4e570e
Show file tree
Hide file tree
Showing 12 changed files with 19,709 additions and 6,384 deletions.
75 changes: 75 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Build and Deploy
on:
push:
branches:
- master
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/[email protected] # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly.
with:
persist-credentials: false
- name: Test
run: |
npm install
npm test
build-deploy-demo:
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/[email protected] # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly.
with:
persist-credentials: false

- name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built.
run: |
npm install
npm run build-demo
- name: Add and commit
run: |
git config user.name github-actions
git config user.email [email protected]
git add -A .
git add -f build/*
git commit -m "build of repo at commit https://github.com/$GITHUB_REPOSITORY/tree/$GITHUB_SHA"
- name: Deploy 🚀
uses: ad-m/[email protected]
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages
force: true

build-deploy-production:
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/[email protected] # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly.
with:
persist-credentials: false

- name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built.
run: |
npm install
npm run build-production
- name: Add and commit
run: |
git config user.name github-actions
git config user.email [email protected]
git add -A .
git add -f build/*
git commit -m "build of repo at commit https://github.com/$GITHUB_REPOSITORY/tree/$GITHUB_SHA"
- name: Deploy 🚀
uses: ad-m/[email protected]
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gironde.fr
force: true
49 changes: 0 additions & 49 deletions .travis.yml

This file was deleted.

41 changes: 4 additions & 37 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Dataviz finances Gironde [![Build Status](https://travis-ci.org/datalocale/dataviz-finances-gironde.svg?branch=master)](https://travis-ci.org/datalocale/dataviz-finances-gironde)
# Dataviz finances Gironde

## Contribuer

Expand Down Expand Up @@ -48,36 +48,8 @@ L'intégration continue est automatise les éléments suivants :
* exécution des tests sur _chaque branche_ ;
* déploiement de la [démo][] depuis _master_ ;

Le suivi des _builds_ est assuré par [Travis CI][].
Le suivi des _builds_ est assuré par une github action

### Installation

En se rendant sur [Travis CI][] :

1. se connecter avec son compte GitHub (_Sign in with Github_) ;
2. se rendre sur son [profil Travis CI][] ;
3. cocher la case du projet `datalocale/dataviz-finances-gironde`.

Reste ensuite à [configurer l'outil](#configurer-travis-ci).

### Configurer Travis CI

Deux variables d'environnement doivent être configurées dans l'[onglet Settings][ci-settings] :

| Name | Value | Display value in build logs |
| ---- | ----- | --------------------------- | |
| `GH_TOKEN` | _voir [Générer un token](#générer-un-token)_ | **Off** |
| `DEPLOY_TARGET_BRANCH` | gh-pages | _On_ |

![](docs/ci-settings.png)

### Générer un token

Un _Personal access token_ est nécessaire pour que l'automate d'intégration continue puisse publier la [démo][].

🔓 [Générer un nouveau _token_](https://github.com/settings/tokens/new?description=datalocale.github.io/dataviz-finances-gironde&scopes=public_repo)

Le token créé est à renseigner dans la [configuration Travis CI](#configurer-travis-ci).

## Déploiement

Expand All @@ -86,16 +58,14 @@ Le token créé est à renseigner dans la [configuration Travis CI](#configurer-
Il existe 3 environnements :

* gironde.fr où il faut créer manuellement dans le CMS un "media dataviz" et un contenu de type "Code HTML5" où on peut mettre le contenu de `build/gironde-fr-integration.html`. Le fichier JavaScript `dataviz-finance-gironde-fr-bundle.script` est à ajouter indépendamment.
* `npm run build-preprod` pour la preprod (media id `2459`)
* `npm run build-production` pour gironde.fr, la production (media id `2459`)
* démo sur gh-pages (`npm run build-demo:public` mais cette commande est seulement faite par Travis)
* démo sur gh-pages (`npm run build-demo:public` mais cette commande est seulement faite par github actions)
* dévelopement (`npm run watch`)

Les artéfacts de build sont rendus créés dans le dossier `./build`.

[Travis CI](https://travis-ci.org/datalocale/dataviz-finances-gironde) est [configuré](https://github.com/datalocale/dataviz-finances-gironde/blob/master/.travis.yml) pour builder automatiquement les artefacts des 3 environnements et les pousser sur les branches :
Github actions est [configuré](https://github.com/datalocale/dataviz-finances-gironde/blob/master/.github/workflows/publish.yml) pour builder automatiquement les artefacts des 2 environnements et les pousser sur les branches :
- [`gh-pages`](https://github.com/datalocale/dataviz-finances-gironde/tree/gh-pages) pour l'environnement de [démo](https://datalocale.github.io/dataviz-finances-gironde/public/)
- [`preprod-gironde.fr`](https://github.com/datalocale/dataviz-finances-gironde/tree/preprod-gironde.fr) pour l'environnement de preprod (non disponible publiquement)
- [`gironde.fr`](https://github.com/datalocale/dataviz-finances-gironde/tree/gironde.fr) pour le déploiement en production sur [gironde.fr](https://www.gironde.fr/un-budget-au-service-des-solidarites-humaine-et-territoriale)


Expand Down Expand Up @@ -185,7 +155,4 @@ L’outil contient des pages dites “focus” qui permettent au Département de

[nodejs]: https://nodejs.org/
[ImageMagick]: https://www.imagemagick.org/script/download.php
[Travis CI]: https://travis-ci.org/datalocale/dataviz-finances-gironde
[profil Travis CI]: https://travis-ci.org/profile
[démo]: https://datalocale.github.io/dataviz-finances-gironde/public/
[ci-settings]: https://travis-ci.org/datalocale/dataviz-finances-gironde/settings
Binary file removed docs/ci-settings.png
Binary file not shown.
Loading

0 comments on commit b4e570e

Please sign in to comment.