X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=.github%2Fworkflows%2Fstats.yml;h=e772fdb813fee852b3a4827fa362d6d16bdb03b1;hb=0c302acb3c358b4d4d8dee45aed1de1108ea37ea;hp=a2f0945b3d14a63c5ca80b168dd1b19393e47845;hpb=a786d8a08bf99f339bf16808f46e160404497ae2;p=github%2FChocobozzz%2FPeerTube.git diff --git a/.github/workflows/stats.yml b/.github/workflows/stats.yml index a2f0945b3..e772fdb81 100644 --- a/.github/workflows/stats.yml +++ b/.github/workflows/stats.yml @@ -1,4 +1,4 @@ -name: "Stats" +name: Stats on: push: @@ -18,25 +18,11 @@ jobs: CI_BRANCH_BASE: develop steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - - name: Use Node.js - uses: actions/setup-node@v1 + - uses: './.github/actions/reusable-prepare-peertube-build' with: - node-version: '12.x' - - - name: Cache Node.js modules - uses: actions/cache@v2 - with: - path: | - **/node_modules - key: ${{ runner.OS }}-node-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.OS }}-node- - ${{ runner.OS }}- - - - name: Install dependencies - run: yarn install --frozen-lockfile + node-version: '16.x' - name: Angular bundlewatch uses: jackyef/bundlewatch-gh-action@master @@ -45,47 +31,39 @@ jobs: branch-base: develop bundlewatch-github-token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }} + - name: PeerTube code stats + if: github.event_name != 'pull_request' + run: | + wget "https://github.com/boyter/scc/releases/download/v3.0.0/scc-3.0.0-x86_64-unknown-linux.zip" + unzip "scc-3.0.0-x86_64-unknown-linux.zip" + ./scc --format=json --exclude-dir .git,node_modules,client/node_modules,client/dist,dist,yarn.lock,client/yarn.lock,client/src/locale,test1,test2,test3,client/src/assets/images,config,storage,server/tests/fixtures,support/openapi,.idea,.vscode,docker-volume,ffmpeg-3,ffmpeg-4 > ./scc.json + - name: PeerTube client stats if: github.event_name != 'pull_request' run: | node dist/scripts/client-build-stats.js > client-build-stats.json - - name: PeerTube code stats + - name: PeerTube client lighthouse report if: github.event_name != 'pull_request' run: | - wget "https://github.com/boyter/scc/releases/download/v3.0.0/scc-3.0.0-x86_64-unknown-linux.zip" - unzip "scc-3.0.0-x86_64-unknown-linux.zip" - ./scc --format=json --exclude-dir .git,node_modules,client/node_modules,client/dist,dist,yarn.lock,client/yarn.lock,client/src/locale,test1,test2,test3,client/src/assets/images,config,storage,server/tests/fixtures,support/openapi,.idea,.vscode,docker-volume,ffmpeg-3,ffmpeg-4 > ./scc.json + sudo apt-get install chromium-browser + sudo npm install -g lighthouse + lighthouse --chrome-flags="--headless" https://peertube2.cpy.re --output=json --output-path=./lighthouse.json - name: Display stats if: github.event_name != 'pull_request' run: | cat client-build-stats.json cat scc.json + cat lighthouse.json - name: Upload stats if: github.event_name != 'pull_request' - env: - STATS_DEPLOYEMENT_KNOWN_HOSTS: ${{ secrets.STATS_DEPLOYEMENT_KNOWN_HOSTS }} - STATS_DEPLOYEMENT_KEY: ${{ secrets.STATS_DEPLOYEMENT_KEY }} - STATS_DEPLOYEMENT_USER: ${{ secrets.STATS_DEPLOYEMENT_USER }} - STATS_DEPLOYEMENT_HOST: ${{ secrets.STATS_DEPLOYEMENT_HOST }} - run: | - mkdir -p ~/.ssh - chmod 700 ~/.ssh - if [ ! -z ${STATS_DEPLOYEMENT_KNOWN_HOSTS+x} ]; then - echo "Adding ssh key to known hosts" - echo -e "${STATS_DEPLOYEMENT_KNOWN_HOSTS}" > ~/.ssh/known_hosts; - fi - - eval `ssh-agent -s` - - if [ ! -z ${STATS_DEPLOYEMENT_KEY+x} ]; then - echo "Adding ssh reployement key" - ssh-add <(echo "${STATS_DEPLOYEMENT_KEY}"); - fi - - if [ ! -z ${STATS_DEPLOYEMENT_KEY+x} ]; then - echo "Uploading files" - scp client-build-stats.json scc.json ${STATS_DEPLOYEMENT_USER}@${STATS_DEPLOYEMENT_HOST}:../../web/peertube-stats; - fi + uses: './.github/actions/reusable-deploy' + with: + source: lighthouse.json client-build-stats.json scc.json + destination: peertube-stats + knownHosts: ${{ secrets.STATS_DEPLOYEMENT_KNOWN_HOSTS }} + deployKey: ${{ secrets.STATS_DEPLOYEMENT_KEY }} + deployUser: ${{ secrets.STATS_DEPLOYEMENT_USER }} + deployHost: ${{ secrets.STATS_DEPLOYEMENT_HOST }}