mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-04-17 08:06:52 -04:00
Bumps the github-actions group with 8 updates in the / directory: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `6.0.1` | `6.0.2` | | [actions/setup-java](https://github.com/actions/setup-java) | `5.1.0` | `5.2.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `5.0.0` | `6.0.0` | | [actions/download-artifact](https://github.com/actions/download-artifact) | `6.0.0` | `7.0.0` | | [actions/cache](https://github.com/actions/cache) | `4.3.0` | `5.0.3` | | [skymatic/workflows/.github/workflows/run-dependency-check.yml](https://github.com/skymatic/workflows) | `3.0.1` | `3.0.2` | | [fjogeleit/http-request-action](https://github.com/fjogeleit/http-request-action) | `1.16.6` | `2.0.0` | | [skymatic/workflows](https://github.com/skymatic/workflows) | `3.0.1` | `3.0.2` | Updates `actions/checkout` from 6.0.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](8e8c483db8...de0fac2e45) Updates `actions/setup-java` from 5.1.0 to 5.2.0 - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](f2beeb24e1...be666c2fcd) Updates `actions/upload-artifact` from 5.0.0 to 6.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](330a01c490...b7c566a772) Updates `actions/download-artifact` from 6.0.0 to 7.0.0 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](018cc2cf5b...37930b1c2a) Updates `actions/cache` from 4.3.0 to 5.0.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](0057852bfa...cdf6c1fa76) Updates `skymatic/workflows/.github/workflows/run-dependency-check.yml` from 3.0.1 to 3.0.2 - [Release notes](https://github.com/skymatic/workflows/releases) - [Commits](1074588008...2d0c27a7b0) Updates `fjogeleit/http-request-action` from 1.16.6 to 2.0.0 - [Release notes](https://github.com/fjogeleit/http-request-action/releases) - [Changelog](https://github.com/fjogeleit/http-request-action/blob/main/RELEASE.md) - [Commits](c0b95d02a0...551353b829) Updates `skymatic/workflows` from 3.0.1 to 3.0.2 - [Release notes](https://github.com/skymatic/workflows/releases) - [Commits](1074588008...2d0c27a7b0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: actions/setup-java dependency-version: 5.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/download-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/cache dependency-version: 5.0.3 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: skymatic/workflows/.github/workflows/run-dependency-check.yml dependency-version: 3.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: fjogeleit/http-request-action dependency-version: 2.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: skymatic/workflows dependency-version: 3.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
64 lines
3.7 KiB
YAML
64 lines
3.7 KiB
YAML
name: Report Download Stats
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0/15 * * * *' # run every 15 min - don't forget to adjust the "interval" in the json sent to the metrics endpoint
|
|
|
|
jobs:
|
|
report-download-stats:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Get download count of latest releases
|
|
id: get-stats
|
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
|
with:
|
|
script: |
|
|
const query = `query($owner:String!, $name:String!) {
|
|
repository(owner:$owner, name:$name){
|
|
releases(first: 10, orderBy: {field: CREATED_AT, direction: DESC}) {
|
|
nodes {
|
|
isPrerelease
|
|
tagName
|
|
releaseAssets(first: 20) {
|
|
nodes {
|
|
name
|
|
downloadCount
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}`;
|
|
const variables = {
|
|
owner: context.repo.owner,
|
|
name: context.repo.repo
|
|
}
|
|
return await github.graphql(query, variables)
|
|
- name: Transform Results
|
|
id: transform-stats
|
|
run: |
|
|
TIME=$(($(date +%s) / $INTERVAL * $INTERVAL))
|
|
echo ${JSON_DATA} | jq --arg TIME "$TIME" --arg INTERVAL "$INTERVAL" -c '.repository.releases.nodes[] | select(.isPrerelease == false) | .tagName as $tagName | .releaseAssets.nodes[] | {filename: .name, downloads: .downloadCount, release: $tagName, time: ($TIME|tonumber), interval: ($INTERVAL|tonumber)}' > input.json
|
|
|
|
jq -c 'select(.filename|endswith("-x86_64.AppImage")) | {name: "github.releases.downloads", tags: ["file=AppImage", "version=\(.release)", "arch=amd64"], value: .downloads, interval: .interval, time: .time}' input.json >> output.json
|
|
jq -c 'select(.filename|endswith("_amd64.deb")) | {name: "github.releases.downloads", tags: ["file=deb", "version=\(.release)", "arch=amd64"], value: .downloads, interval: .interval, time: .time}' input.json >> output.json
|
|
jq -c 'select(.filename|endswith("-x64.msi")) | {name: "github.releases.downloads", tags: ["file=msi", "version=\(.release)", "arch=amd64"], value: .downloads, interval: .interval, time: .time}' input.json >> output.json
|
|
jq -c 'select(.filename|endswith("-x64.exe")) | {name: "github.releases.downloads", tags: ["file=exe", "version=\(.release)", "arch=amd64"], value: .downloads, interval: .interval, time: .time}' input.json >> output.json
|
|
jq -c 'select(.filename|endswith("-arm64.dmg")) | {name: "github.releases.downloads", tags: ["file=dmg", "version=\(.release)", "arch=arm64"], value: .downloads, interval: .interval, time: .time}' input.json >> output.json
|
|
jq -c 'select(.filename|endswith(".dmg")) | select(.filename|endswith("-arm64.dmg")|not) | {name: "github.releases.downloads", tags: ["file=dmg", "version=\(.release)", "arch=amd64"], value: .downloads, interval: .interval, time: .time}' input.json >> output.json
|
|
|
|
RESULT=$(jq -s -c "." output.json)
|
|
echo "result=${RESULT}" >> $GITHUB_OUTPUT
|
|
env:
|
|
INTERVAL: 900
|
|
JSON_DATA: ${{ steps.get-stats.outputs.result }}
|
|
- name: Upload Results
|
|
uses: fjogeleit/http-request-action@551353b829c3646756b2ec2b3694f819d7957495 # v2.0.0
|
|
with:
|
|
url: 'https://graphite-us-central1.grafana.net/metrics'
|
|
method: 'POST'
|
|
contentType: 'application/json'
|
|
bearerToken: ${{ secrets.GRAFANA_GRAPHITE_TOKEN }}
|
|
data: ${{ steps.transform-stats.outputs.result }}
|
|
continue-on-error: true # currently there seems to be a problem with the metrics endpoint, failing every now and then
|