diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..0c49d64 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,73 @@ +# Workflow to build and deploy to GitHub Pages, with previews for PRs +# Based on https://github.com/daiyi/gh-pages-pr-previews + +name: github pages + +on: + push: + branches: + - main + pull_request: + +jobs: + deploy: + runs-on: ubuntu-20.04 + env: + PR_PATH: pull/${{github.event.number}} + steps: + - name: Comment on PR + uses: hasura/comment-progress@v2.2.0 + if: github.ref != 'refs/heads/main' + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + repository: ${{ github.repository }} + number: ${{ github.event.number }} + id: deploy-preview + message: "Starting deployment of preview ⏳..." + + - name: Set domain + run: echo "DOMAIN=osep.elisa.tech" >> $GITHUB_ENV + + - name: Set base URL for preview if PR + if: github.ref != 'refs/heads/main' + run: echo "BASE_URL=https://${{ env.DOMAIN }}/${{ env.PR_PATH}}/" >> $GITHUB_ENV + + - name: Setup python + uses: actions/setup-python@v5 + with: + python-version: 3.x + + - name: Checkout the triggering ref + uses: actions/checkout@v4 + + - name: Build site + run: | + pip install -r docs/requirements.txt + mkdocs build + + - name: Deploy if this is the `main` branch + uses: peaceiris/actions-gh-pages@v3 + if: github.ref == 'refs/heads/main' + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./public + cname: ${{ env.DOMAIN }} + + - name: Deploy to PR preview + uses: peaceiris/actions-gh-pages@v3 + if: github.ref != 'refs/heads/main' + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./public + destination_dir: ${{ env.PR_PATH }} + keep_files: true + + - name: Update comment + uses: hasura/comment-progress@v2.2.0 + if: github.ref != 'refs/heads/main' + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + repository: ${{ github.repository }} + number: ${{ github.event.number }} + id: deploy-preview + message: "A preview of ${{ github.event.after }} is here:\n\n ✨ ${{ env.BASE_URL }}" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index bae05ab..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: CI - -# Controls when the workflow will run -on: - # Triggers the workflow on push or pull request events but only for the main branch - push: - branches: [ main ] - pull_request: - branches: [ main ] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest - - env: - STPATOOLS_VERSION: "42e07abc5510f5864aa102aa7ae1e8349911a620" - STPATOOLS_REPO: "https://gitlab.com/CodethinkLabs/stpatools.git" - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - # Check that YAML files are well-formed - - name: YAML lint - run: yamllint -d relaxed . - - # Install specific version of ruamel.yaml required by STPAtools - - name: Install ruamel.yaml - run: pip3 install ruamel.yaml==0.16.7 - - # Install specific version of STPA tools from repo - - name: Install STPA tools - run: pip3 install "git+${{env.STPATOOLS_REPO}}@${{env.STPATOOLS_VERSION}}" - - # Validate STPA files - - name: Validate STPA files (STPA_DynMA) - run: stpa-validate STPA_DynMA/*.yml diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 0000000..09c6e78 --- /dev/null +++ b/docs/CNAME @@ -0,0 +1 @@ +osep.elisa.tech diff --git a/docs/images/elisa-horizontal-color.svg b/docs/images/elisa-horizontal-color.svg new file mode 100644 index 0000000..1c058e1 --- /dev/null +++ b/docs/images/elisa-horizontal-color.svg @@ -0,0 +1,190 @@ + + diff --git a/docs/images/elisa-logo.svg b/docs/images/elisa-logo.svg new file mode 100644 index 0000000..e6048c7 --- /dev/null +++ b/docs/images/elisa-logo.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + diff --git a/docs/images/favicon.ico b/docs/images/favicon.ico new file mode 100644 index 0000000..978b94d Binary files /dev/null and b/docs/images/favicon.ico differ diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..2697e5b --- /dev/null +++ b/docs/index.md @@ -0,0 +1,18 @@ +![ELISA - Enabling Linux in Safety Applications](images/elisa-horizontal-color.svg){: .elisa-title-image } + +# Welcome to OSEP + +This is the home of the **Open Source Engineering Process (OSEP)** working +group, part of the Linux Foundation's [ELISA](https://elisa.tech/) project + +This working group examines how software engineering processes can be used to +facilitate the certification of safety-related systems incorporating Linux and +other FOSS. We consider the roles that a Linux-based OS might have in such +systems; how FOSS developers, system integrators and product creators can +specify these roles; and the evidence they might need to provide to support +associated safety arguments. + +Use the menu on the left to navigate within the site, and the _Table of +contents_ on the right to browse within a page. Alternatively, type what you +are looking for in the _Search_ box above. + diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..568e293 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,4 @@ +mkdocs==1.6.0 +mkdocs-material==9.5.22 +mkdocs-material-extensions==1.3.1 +pymdown-extensions==10.12 diff --git a/docs/stylesheets/elisa.css b/docs/stylesheets/elisa.css new file mode 100644 index 0000000..9d3660b --- /dev/null +++ b/docs/stylesheets/elisa.css @@ -0,0 +1,47 @@ + :root { + + --elisa-green: #77c046; + + --md-default-fg-color: slategrey; + --md-default-bg-color: white; + + --md-primary-fg-color: black; + --md-primary-bg-color: var(--elisa-green); + + --md-typeset-a-color: darkgreen; + --md-accent-fg-color: var(--elisa-green); + + } + +.md-typeset__table { + min-width: 100%; +} + +.md-typeset table:not([class]) { + display: table; + border: none; +} + +td { + background-color: #f0f0f0; + margin: 2px; +} + +th { + background-color: darkgreen; + color: var(--elisa-green); +} + +th:first-child { + border-top-left-radius: 10px; +} + +th:last-child { + border-top-right-radius: 10px; +} + +.elisa-title-image { + width: 50%; + float: right; + padding-left: 10px; +} diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..302b156 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,39 @@ +site_name: ELISA - Open Source Engineering Process +repo_url: https://github.com/elisa-tech/wg-osep +site_url: !ENV [BASE_URL, https://osep.elisa.tech/] +site_dir: public + +theme: + name: material + logo: images/elisa-logo.svg + favicon: images/favicon.ico + icon: + repo: fontawesome/brands/github + font: + text: Open Sans + code: Fira Code + features: + - content.code.copy + - content.code.annotate + - navigation.footer + - navigation.top + +extra_css: + - stylesheets/elisa.css + +use_directory_urls: false + +plugins: + - search + +markdown_extensions: + - attr_list + - pymdownx.pathconverter: + absolute: true + +nav: + - ELISA: https://elisa.tech/ + - OSEP: + - Home: index.md + +