Skip to content

Commit

Permalink
Auto-generate README.md File (#471)
Browse files Browse the repository at this point in the history
* auto-generate readme.

* format.
  • Loading branch information
khajavi authored Jan 5, 2023
1 parent dc294f2 commit 75f4ed1
Show file tree
Hide file tree
Showing 5 changed files with 111 additions and 31 deletions.
92 changes: 69 additions & 23 deletions .github/workflows/site.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,74 @@
# This file was autogenerated using `zio-sbt` via `sbt generateGithubWorkflow`
# task and should be included in the git repository. Please do not edit
# it manually.
# This file was autogenerated using `zio-sbt-website` via `sbt generateGithubWorkflow`
# task and should be included in the git repository. Please do not edit it manually.

name: website

on:
name: Website
'on':
workflow_dispatch: {}
release:
types: [ published ]

types:
- published
push:
branches:
- main
jobs:
publish-docs:
runs-on: ubuntu-20.04
timeout-minutes: 30
name: Publish Docs
runs-on: ubuntu-latest
if: ${{ ((github.event_name == 'release') && (github.event.action == 'published')) || (github.event_name == 'workflow_dispatch') }}
steps:
- name: Git Checkout
uses: actions/checkout@v3.1.0
with:
fetch-depth: '0'
- name: Setup Scala
uses: actions/setup-java@v3.6.0
with:
distribution: temurin
java-version: 17
check-latest: true
- name: Setup NodeJs
uses: actions/setup-node@v3
with:
node-version: 16.x
registry-url: https://registry.npmjs.org
- name: Publish Docs to NPM Registry
run: sbt docs/publishToNpm
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
generate-readme:
name: Generate README
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
with:
fetch-depth: 0
- name: Setup Scala and Java
uses: olafurpg/setup-scala@v13
- uses: actions/setup-node@v3
with:
node-version: '16.x'
registry-url: 'https://registry.npmjs.org'
- name: Publishing Docs to NPM Registry
run: sbt publishToNpm
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
- name: Git Checkout
uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }}
fetch-depth: '0'
- name: Setup Scala
uses: actions/setup-java@v3.6.0
with:
distribution: temurin
java-version: 17
check-latest: true
- name: Generate Readme
run: sbt docs/generateReadme
- name: Commit Changes
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add README.md
git commit -m "Update README.md" || echo "No changes to commit"
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
with:
body: |
Autogenerated changes after running the `sbt docs/generateReadme` command of the [zio-sbt-website](https://zio.dev/zio-sbt) plugin.
I will automatically update the README.md file whenever there is new change for README.md, e.g.
- After each release, I will update the version in the installation section.
- After any changes to the "docs/index.md" file, I will update the README.md file accordingly.
branch: zio-sbt-website/update-readme
commit-message: Update README.md
branch-suffix: short-commit-hash
title: Update README.md

21 changes: 20 additions & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,26 @@ lazy val docs = project
scalacOptions -= "-Xfatal-warnings",
libraryDependencies ++= Seq(
"dev.zio" %% "zio" % zioVersion
)
),
projectName := "ZIO Schema",
badgeInfo := Some(
BadgeInfo(
artifact = "zio-schema_2.12",
projectStage = ProjectStage.Development
)
),
docsPublishBranch := "main",
readmeContribution +=
"""|
|#### TL;DR
|
|Before you submit a PR, make sure your tests are passing, and that the code is properly formatted
|
|```
|sbt prepare
|
|sbt test
|```""".stripMargin
)
.dependsOn(
zioSchemaMacrosJVM,
Expand Down
12 changes: 10 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ sidebar_label: "Introduction"

[ZIO Schema](https://github.com/zio/zio-schema) is a [ZIO](https://zio.dev)-based library for modeling the schema of data structures as first-class values.

@PROJECT_BADGES@

## Introduction

Schema is a structure of a data type. ZIO Schema reifies the concept of structure for data types. It makes a high-level description of any data type and makes them as first-class values.
Expand All @@ -21,14 +23,20 @@ With schema descriptions that can be automatically derived for case classes and

When our data structures need to be serialized, deserialized, persisted, or transported across the wire, then _ZIO Schema_ lets us focus on data modeling and automatically tackle all the low-level, messy details for us.

_ZIO Schema_ is used by a growing number of ZIO libraries, including _ZIO Flow_, _ZIO Redis_, _ZIO Web_, _ZIO SQL_ and _ZIO DynamoDB_.

## Installation

In order to use this library, we need to add the following lines in our `build.sbt` file:

```scala
libraryDependencies += "dev.zio" %% "zio-schema" % "@VERSION@"
libraryDependencies += "dev.zio" %% "zio-schema-json" % "@VERSION@"
libraryDependencies += "dev.zio" %% "zio-schema" % "@VERSION@"
libraryDependencies += "dev.zio" %% "zio-schema-json" % "@VERSION@"
libraryDependencies += "dev.zio" %% "zio-schema-protobuf" % "@VERSION@"

// Required for automatic generic derivation of schemas
libraryDependencies += "dev.zio" %% "zio-schema-derivation" % "@VERSION@",
libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value % "provided"
```

## Example
Expand Down
15 changes: 11 additions & 4 deletions docs/sidebars.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
const sidebars = {
sidebar: [
'index',
'use-cases',
'our-first-schema',
'understanding-zio-schema',
{
type: "category",
label: "ZIO Schema",
collapsed: false,
link: { type: "doc", id: "index" },
items: [
'use-cases',
'our-first-schema',
'understanding-zio-schema',
]
}
]
};

Expand Down
2 changes: 1 addition & 1 deletion project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ addSbtPlugin("com.eed3si9n" % "sbt-unidoc" % "0.4.3")
addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.1.0")
addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.4")
addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.3")
addSbtPlugin("dev.zio" % "zio-sbt-website" % "0.0.0+80-e5b408eb-SNAPSHOT")
addSbtPlugin("dev.zio" % "zio-sbt-website" % "0.1.5+27-a79a4f13-SNAPSHOT")

libraryDependencies += "org.snakeyaml" % "snakeyaml-engine" % "2.5"

Expand Down

0 comments on commit 75f4ed1

Please sign in to comment.