Code Monkey home page Code Monkey logo

github-workflows's Introduction

I'm mostly an Android engineer nowadays, but not afraid to dig deep into anything.
When I notice something, I try to report it so that it helps the community.

My Apps and Projects on GitHub

Android Apps Magic Home Inventory TWiStErRob/net.twisterrob.inventory Magic Home Inventory Sun Position Widget TWiStErRob/net.twisterrob.sun Sun Position Widget

Android Color Filters TWiStErRob/net.twisterrob.colorfilters Android Color Filters
Other Projects Android Gradle Quality Plugins TWiStErRob/net.twisterrob.gradle www.twisterrob.net TWiStErRob/twisterrob.github.io






TWiStErRob/repros
TWiStErRob/android-lint-examples
TWiStErRob/TWiStErRob-env
TWiStErRob/TWiStErRob

Other

My reported Issues in GitHub.

github-workflows's People

Contributors

renovate[bot] avatar twisterrob avatar

Watchers

 avatar  avatar

github-workflows's Issues

Extract publish build scan commit status as action

Account for error:

Publishing build scan...

Publishing failed.

The response from https://scans-in.gradle.com/scans/publish/gradle/3.15/token was not from the build scan server.
Your network environment may be interfering, or the service may be unavailable.

in which case fromJSON(steps.gradle.outputs.build-scan-url) will be fromJSON('') which fails as

The template is not valid. TWiStErRob/net.twisterrob.sun/.github/workflows/CI-screenshot-record.yml@1c747a488ff4a223fb5cee1df0a3f718a0fc0aa4 (Line: 63, Col: 19): Error reading JToken from JsonReader. Path '', line 0, position 0.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/CI.yml
  • actions/checkout v4
.github/workflows/instrumentation.yml
  • actions/setup-java v4
  • actions/checkout v4
  • actions/cache v3
  • reactivecircus/android-emulator-runner v2
  • actions/cache v3
  • reactivecircus/android-emulator-runner v2
  • actions/github-script v7
  • actions/upload-artifact v4
  • actions/upload-artifact v4
  • EnricoMi/publish-unit-test-result-action v2
.github/workflows/validate.yml
  • actions/checkout v4
  • gradle/wrapper-validation-action v1
npm
action-validator/package.json
  • @action-validator/cli 0.5.4

  • Check this box to trigger a request for Renovate to run again on this repository

Online viewable reports

TL;DR: publish reports as gh-pages.

Location:

  • Separate shadow branch in the same repo
  • Separate gh-pages branch in same repo
  • Dedicated repo for specific repo, like org/repo-reports
  • Dedicated repo for whole org, like org/gha-reports

Hosting:

  • gh-pages or main branch, doesn't matter match, as long as Pages is set up.
  • custom domain possible in Pages
  • in case of shadow-branch only specific files are visible, I don't think HTML would be viable on raw.github, but have to check

Structure:

  • depending on hosting/scope, mostly for conflict avoidance.
  • possible tokens in path:
    • org
    • repo
    • branch (probably not necessary)
    • sha
    • workflow ID
    • attempt #
    • module
    • report-name (lint, detekt, unit-test, android-test, etc.)
  • as long as enough discriminators exist, order doesn't matter
  • workflow input with template?

For each report name we might need separate processing rules, or a separate job.

Steps:

  • download artifact
  • clone target repo
  • move artifacts to right folder
  • post-process if necessary (sed paths)
  • report resulting (deployed) path in workflow call output.

Making it visible:

  • deployment location for each report
  • update comment in PR
  • status checks with Details link
  • create annotations on a root file (of modules), probably noisy
    • can be reduced if there's an uber-report collating all available reports for a workflow run
    • can be reduced with report browser based on paths

Implementation details to account for parallel CI jobs:

  • either restrict parallelism, which is probably not possible per workflow call;
  • or create PRs, because their merges can be serialized without conflicts.
    This has the potential to validate the branches, but that might be an overkill. Anyway possible if necessary.
    • steps
      • push branch (with discriminator name or hash of if length restricted)
      • auto-open PR in target repo
        • enable auto-merge
        • there should be no conflicts because of distinct paths
    • can we delete PRs?

Clean-up:

  • wipe repo on the weekend/night?
  • retention could be configured per path in pages repo
  • steps either way
    • Clone pages repo
    • figure out which folders to delete
      • rm -rf
      • git filter-repo to remove specific from history.
    • force push

Allow mixing in external files to instrumentation cache key

They should be delayed for evaluation until used. (i.e. after checkout)


      cache-mixin:
        required: false
        default: ''
        description: |
          Additional string to add to the cache key.
          Useful to invalidate the cache when the setup-script changes.
          Note: setup-script contents will be automatically added to the cache key,
          but if it calls an external script, that needs to be included here.
          Usage: `cache-mixin: hashFiles('...')`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.