github-ci-demo

Testing github actions

https://github.com/dmijatovic/github-ci-demo

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.8%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Testing github actions

Basic Info
  • Host: GitHub
  • Owner: dmijatovic
  • License: apache-2.0
  • Language: JavaScript
  • Default Branch: master
  • Size: 1.01 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 3
  • Releases: 36
Created over 4 years ago · Last pushed about 3 years ago
Metadata Files
Readme License Citation

README.md

Github actions and badges

dev_test fair-software.eu docker check-code-coverage release

This repo is testing some github action approaches based on this Udemy training

Features actions

  • simple.yml: running some basic shell commands on latest ubuntu

Leasson lerned

Jobs run in parallel by default. To define sequence/dependencies use needs.

Actions

The actions can be written in Javascript., for some other programming language you can use docker action. It can use from action repo or custom action can be created in the local repository.

When reffering to action you need to specify branch of the repo or version. Version is prefferd as it is more stable than a branch.

Custom private actions

You can create private action in your project. This action is only available for this project. The custom private actions are stored in ./github/actions folder.

```bash

install actions packages

npm i -D @actions/core @actions/github npm i -D @vercel/ncc ```

NOTE! The action will require these modules to run. You can install everything first or you can use @vercel/ncc module to compile the action and have single file that can run in github action.

For more information about core actions see this repo

Vue 3 + Typescript + Vite

This template should help get you started developing with Vue 3 and Typescript in Vite. The template uses Vue 3 <script setup> SFCs, check out the script setup docs to learn more.

Recommended IDE Setup

Type Support For .vue Imports in TS

Since TypeScript cannot handle type information for .vue imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in .vue imports (for example to get props validation when using manual h(...) calls), you can enable Volar's .vue type support plugin by running Volar: Switch TS Plugin on/off from VSCode command palette.

Testing

Use vue testing library. NOT AVALIABLE FOR Vue v3

```bash

npm i -D jest @types/jest ts-jest @vue/test-utils@next @vue/vue3-jest

```

Semantic Release

This tools enables automatic version control and CHANGELOG file generation based on the commit messages. Commit message do need to be in specific format in order to automate this process. For more info see here

bash npm i -D semantic-release

Github action for tagging and CHANGELOG

I expectiemented with github actions to automatically create release.

  • TriPSs/conventional-changelog-action@latest: makes changelog and tags release. Have problems triggering major release using BREAKING CHANGES in commit. Use in release-tag-conventional-commits.yml file

  • marvinpinto/action-automatic-releases@latest: createds github relase. It is used it on tag push.

Other action to try

Use action marketplace to find newones

TriPSs/conventional-changelog-action

This action has number of flexible features:

  • skip-commit: to avoid new commit with changelog.md file
  • output-file: do not output changelog.md file
  • git-push: false does not works as expected. It will create tag but not push it. However if there are steps at the later stage that manipulate content and commit, the tag might be pushed with this changes. I had this during testing.

Triggering breaking change requires using BREAKING CHANGE: what is the change... text in the footer of commit message (new line required).

Create release action

Deleting tags manually

```bash

delete locally

git tag -d {tag}

remove from origin

git push origin --delete {tag}

or more specificaly

git push origin :refs/tags/{tag} ```

Creating anotated tag manually

When using conventational-changelog-action or same kind of actions to calculate version tag you might want to interfere with the automatic versioning. That is possible by creating anonated tags manually or removing existing tags from the repo.

```bash

create anotated tag

git tag -a {tag} -m {tag}

push tags only

git push --tags

push commits and tags at the same time (not sure this works as exepected)

git push --follow-tags

```

Github badges

The github bages with the last status of running actions can be created. Official documentation

md <!-- add workfolow badge, it uses workflow name--> ![](https://github.com/dmijatovic/github-ci-demo/actions/workflows/docker.yml/badge.svg)

Check code coverage

To only have a test coverage badge there are few NPM solutions. All are related to javascript testing.

md <!-- manually provide badge --> ![check-code-coverage](https://img.shields.io/badge/code--coverage-80%-brightgreen)

Owner

  • Name: Dusan Mijatovic
  • Login: dmijatovic
  • Kind: user
  • Location: Amsterdam
  • Company: dv4all

Dusan Mijatovic is the founder of dv4all. He possesses quite a unique skillset.

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Research Software Directory (as a service)
message: >-
  Please cite this software using the information
  provided in this file.
type: software
authors:
  - given-names: Ewan Jacov
    family-names: Cahen
    affiliation: Netherlands eScience Center
    email: e.cahen@esciencecenter.nl
  - given-names: Dusan
    family-names: Mijatovic
    email: d.mijatovic@esciencecenter.nl
    affiliation: Netherlands eScience Center
    orcid: 'https://orcid.org/0000-0002-1898-4461'
  - orcid: 'https://orcid.org/0000-0002-2170-3253'
    affiliation: Netherlands eScience Center
    given-names: Jesus
    family-names: Garcia Gonzalez
    email: j.g.gonzalez@esciencecenter.nl
  - given-names: Jason
    family-names: Maassen
    email: j.maassen@esciencecenter.nl
    affiliation: Netherlands eScience Center
    orcid: 'https://orcid.org/0000-0002-8172-4865'
  - given-names: Maaike
    name-particle: de
    family-names: Jong
    email: m.dejong@esciencecenter.nl
    affiliation: Netherlands eScience Center
    orcid: 'https://orcid.org/0000-0003-4803-7411'
identifiers:
  - type: doi
    value: 10.0000/FIXME
    description: The archived releases for the sourcecode
repository-code: >-
  https://github.com/research-software-directory/RSD-as-a-service
url: 'https://research-software.dev'
abstract: >-
  The Research Software Directory (as a service) is a
  content management system that is tailored to
  research software. Its main goal is to increase the
  visibility, impact and reuse of research software.
keywords:
  - Research Software
  - Software Citation
  - FAIR Sofware
  - Software Impact
  - Software Reuse
license: Apache-2.0
version: v3.1.0
date-released: '2022-03-09'

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/actions/github-issue/action.yml actions
  • use/index.js node12 javascript
.github/actions/hello/action.yml actions
  • use/index.js node12 javascript
.github/actions/hello-docker/action.yml actions
  • Dockerfile * docker
.github/workflows/cff_validate.yml actions
  • actions/checkout v3 composite
  • citation-file-format/cffconvert-github-action 2.0.0 composite
.github/workflows/custom-action.yml actions
  • ./.github/actions/hello * composite
  • actions/checkout v2 composite
.github/workflows/docker-compose.yml actions
  • alialaa17/node-api * docker
  • mongo * docker
.github/workflows/docker-custom-action.yml actions
  • ./.github/actions/hello-docker * composite
  • actions/checkout v2 composite
.github/workflows/fair_software.yml actions
  • fair-software/howfairis-github-action 0.2.0 composite
.github/workflows/github-issue.yml actions
  • ./.github/actions/github-issue * composite
  • actions/checkout v2 composite
.github/workflows/js-action.yml actions
  • actions/hello-world-javascript-action v1 composite
.github/workflows/manual-action.yml actions
  • ./.github/actions/hello * composite
  • actions/checkout v2 composite
.github/workflows/on-pull-request.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
  • actions/upload-artifact v2 composite
.github/workflows/on-push-to-dev.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
  • actions/upload-artifact v2 composite
.github/workflows/prerelease-changelog.yml actions
  • TriPSs/conventional-changelog-action v3 composite
  • actions/checkout v3 composite
  • softprops/action-gh-release v1 composite
.github/workflows/release-changelog-builder.yml actions
  • actions/checkout v2 composite
  • mikepenz/release-changelog-builder-action v2 composite
  • softprops/action-gh-release v1 composite
.github/workflows/release-changelog.yml actions
  • TriPSs/conventional-changelog-action v3 composite
  • actions/checkout v3 composite
  • softprops/action-gh-release v1 composite
.github/workflows/release-citation-file.yml actions
  • actions/checkout v3 composite
.github/workflows/release-manual.yml actions
  • TriPSs/conventional-changelog-action v3 composite
  • actions/checkout v3 composite
  • softprops/action-gh-release v1 composite
  • stefanzweifel/git-auto-commit-action v4 composite
.github/workflows/release-tag-conventional-commits.yml actions
  • TriPSs/conventional-changelog-action latest composite
  • actions/checkout v2 composite
  • actions/create-release latest composite
.github/workflows/release-tag.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
  • marvinpinto/action-automatic-releases latest composite
.github/workflows/reuse-workflows.yml actions
  • ./.github/workflows/shell-env.yml master composite
  • ./.github/workflows/shell-on-push.yml master composite
  • actions/checkout v3 composite
.github/workflows/shell-on-push.yml actions
  • actions/checkout v1 composite
.github/actions/hello-docker/Dockerfile docker
  • alpine 3.12 build
deployment/docker-compose.yml docker
  • ghcr.io/research-software-directory/rsd-saas/auth latest
  • ghcr.io/research-software-directory/rsd-saas/backend latest
  • ghcr.io/research-software-directory/rsd-saas/database latest
  • ghcr.io/research-software-directory/rsd-saas/frontend latest
  • ghcr.io/research-software-directory/rsd-saas/nginx latests
  • ghcr.io/research-software-directory/rsd-saas/scrapers latest
package-lock.json npm
  • 884 dependencies
package.json npm
  • @actions/core ^1.5.0 development
  • @actions/github ^5.0.0 development
  • @types/jest ^27.0.2 development
  • @vercel/ncc ^0.31.1 development
  • @vitejs/plugin-vue ^1.9.0 development
  • @vue/test-utils ^2.0.0-rc.15 development
  • @vue/vue3-jest * development
  • eslint ^7.32.0 development
  • jest ^27.2.2 development
  • semantic-release ^18.0.0 development
  • ts-jest ^27.0.5 development
  • typescript ^4.4.3 development
  • vite ^2.5.10 development
  • vue-tsc ^0.3.0 development
  • vue ^3.2.13